数组的方法
一、ECMAScript 3 中的方法
1. join()
作用:将数组中所有的元素都转换为字符串并拼接到一起,并返回生成的字符串。不改变原来的数组。可以指定连接符,默认为逗号。
实例:
var a = [1,2,3];
a.join(); //1,2,3
a.join(" "); //1 2 3
a.join(""); //123
var b = new Array(10);
b.join("-"); //"---------" 9个连字号
Array.join() 是 String.split()的逆向操作。
2. reverse()
作用:将原数组的元素颠倒顺序,返回逆序的数组,改变了原来的数组。
实例:
var a = [1,2,3];
a.reverse();// a=[3,2,1];
3. sort()
作用:将数组中的元素进行排序并返回排序后的数组,改变原数组。默认按字母表的顺序排序(如有必要,将临时转化为字符串进行比较)。
如果函数undefined元素,他们会被排到数组的尾部。
可以给sort()方法传递一个比较函数,决定数组元素的先后顺序。假设第一个参数应该在前,则比较函数应该返回一个小于0的数值。反之,函数应该返回一个大于0的数值。假设两个值相等(顺序无关紧要),则应该返回0。
var a = [1,3,1,222,2,6]
a.sort();//a = [1,1,2,222,3,6] 默认按照字母表顺序
a.sort((a,b)=>{return a-b}); //a = [1,1,2,3,6,222]
4. concat()
作用:Array.concat()方法创建并返回一个新数组,新数组的元素包括调用concat()的原始数组的元素和concat()的参数。如果某一个参数是数组,则连接的是数组的元素,而非数组本身。但是,concat()不会递归扁平化数组的数组。concat()也不会修改调用的数组;
var a = [1,2,3];
a.concat(4,5);//[1,2,3,4,5] a = [1,2,3]
a.concat([4,5]);//[1,2,3,4,5] a = [1,2,3]
a.concat([4,5],[6,7]);//[1,2,3,4,5,6,7]
a.concat(4,[5,[6,7]]);// [1,2,3,4,5,[6,7]]