本文共 2482 字,大约阅读时间需要 8 分钟。
1.join()方法:对数组进行指定分隔符分割成一个字符串。
var fruits = ["Banana", "Orange","Apple", "Mango"];document.getElementById("demo").innerHTML = fruits.join(" * ");
结果为:Banana * Orange * Apple * Mango
2.pop()和 push():pop()方法弹出数组末尾的最后一个元素,并返回该元素。push()方法在数组末尾增加一个元素。这两个方法正常都是一起使用的。这两个方法比较常用,就不贴代码了。
3.shift()和unshift():与pop()和push()刚好反过来,shift()是在数组的开头删除首元素,然后其他元素依次向前进一位,他返回的是删除的元素。unshift()是在数组的开头插入一个对象,然后其他元素依次向后退一位,他返回的是新的数组的长度。
var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.shift(); // 返回 "Banana"var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.unshift("Lemon"); // 向 fruits 添加新元素 "Lemon",返回 5
4.splice():用于拼接数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];var newFruits=fruits.splice(2, 0, "Lemon", "Kiwi");
splice()的第一个参数表示从第几个位置开始,第二个参数表示要删除几个元素,其余参数表示要插入哪些元素,它不会替代原来的数组,而是生成一个新的数组。如上述代码表示从第二位开始,删除0个元素,插入Lemon、Kiwi两个元素。
同理,splice()也可以用来删除指定位置的多个元素,并且插入新元素。
var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.splice(2, 2, "Lemon", "Kiwi");
如上述表示,从第二位置开始,删除两个元素,再插入Lemon、Kiwi两个元素。
5.concat():用来合并多个数组,返回一个新的数组。
var arr1 = ["Cecilie", "Lone"];var arr2 = ["Emil", "Tobias", "Linus"];var arr3 = ["Robin", "Morgan"];var myChildren = arr1.concat(arr2, arr3); // 将arr1、arr2 与 arr3 连接在一起
6.slice():从数组中的某个位置之后,裁剪出一个新的数组,并返回新数组。
var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];var citrus = fruits.slice(3);
返回的citrus的结果为Apple,Mango
7.sort():当内容是字符串数组时,默认按照以字母顺序对数组进行排序。
var fruits = ["Banana", "Orange", "Apple", "Mango"];fruits.sort(); // 对 fruits 中的元素进行排序
返回的结果是["Apple","Banana","Mango","Orange"];
对于数字的数组而言,我们通过一个比值函数来修正此问题。
var points = [40, 100, 1, 5, 25, 10];//表示按从小到大的顺序进行排序points.sort(function(a, b){return a - b});//表示按照从大到小的顺序进行排序 points.sort(function(a, b){return b - a}); //表示按照随机的顺序进行排序points.sort(function(a, b){return 0.5 - Math.random()});
8.reverse() :反转数组中的元素,即倒叙排序,直接调用既可以,不贴代码。
9.forEach():为数组里面的每个元素调用一次函数。
var txt = "";var numbers = [45, 4, 9, 16, 25];numbers.forEach(myFunction);function myFunction(value) { txt = txt + value + ""; }
调用此函数,使数组变成字符串数组,并且每个结尾都以"<br>"结束。
10.filter():为数组过滤掉不符合条件的内容
var numbers = [45, 4, 9, 16, 25];var over18 = numbers.filter(myFunction);function myFunction(value) { return value > 18;}
如上例子,表示获得数组中大于18的元素,然后返回一个新数组。
11.reduce():在数组中循环叠加计算某个函数,如果要指定他按照从左往右的顺序循环叠加,则使用reduceRight()。
var numbers1 = [45, 4, 9, 16, 25];var sum = numbers1.reduce(myFunction);function myFunction(total, value, index, array) { return total * value;}
如上例子,表示循环叠加地把数组内的元素相乘起来,返回一个最终叠加结果。
转载地址:http://ceshn.baihongyu.com/