javaScript数组方法

来源:互联网 发布:淘宝客服如何算提成 编辑:程序博客网 时间:2024/06/14 01:27

1)Join()

Array.Join()方法可以把一个数组的所有元素都转换成字符串,然后再把他们链接起来,可以指定一个可选的字符来分割结果字符串中的元素。如果没有指定分隔字符,那么用逗号分隔元素。

如:var a={1,2,3}

var b=a.join();//b="1,2,3";

若指定了分隔符,则不一样 如:

var b=a.join(,)//b="1, 2, 3";

注意,逗号后面有空格。


2)reverse()

Array.reverse()方法将点到数组元素的顺序病返回点到后的数组。它在原数组上执行这一操作。

如:var a=new array(1,2,3);

a.reverse();//颠倒数组元素

var s=a.join();//转换成字符串 ,s="3,2,1"

3)sort()

Array.sort()方法是在原数组上对数组元素进行排序,返回排序后的数组。如果调用sort()时不传递给他参数,那么他将按照字母顺序对数组元素进行排序:

如:var a=new array("banana","cherry","apple");

a.sort();

var s=a.join(",");//s="apple, banana, cherry"

如果数组含有未定义的元素,这些元素将被放在数组的末尾。

如果要将数组按照别的顺序来排序,必须将一个比较函数作为参数传递给sort()。该函数确定它的两个参数在排序数组中哪个在前,哪个在后。如果第一个参数应该位于第二个参数之前,那么比较函数返回一个小于0的数。如果第一个参数位于第二个参数之后,那么比较函数就会返回一个大于0的数。如果两个参数像个,那么比较函数将返回0。

如:var a=[333,444,111,22;

a.sort();      //按字母书序排序

a.sort(function (a,b){

return a-b;//按排序返回

})

4)concat方法

Array.concat()方法能够创建并返回一个数组。这个数组包含了调用concat()的原始数组,其后跟随的是concat()的参数。如果其中有些参数是数组那么他将被展开。其元素将被添加到返回的数组中。需要注意的是,concat()并不能递归的展开一个元素为数组的数组。

如:var a=[1,2,3];

a.concat(4,5);//返回[1,2,3,4,5]

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]]

5)slice()方法

Array.slice()方法返回的是指定数组的一个片段,或者说是子数组。它的两个参数指定了要返回的片段的起止点。若只有一个参数,则默认从该参数位置开始到数组结束。若参数为负数,则把数组从后往前数。

如:var a=[1,2,3,4,5];

a.slice(0,3);//返回[1,2,3]

a.slice(3);//返回[4,5]

a.slice(-3,-2)//返回[3]

6)splice()方法

Array.splice()方法是插入或者删除数组元素的通用方法,它在原数组上修改数组。

splice()方法中第一个参数的指定了要插入或删除的位置,第二个参数指定了从数组中删除元素的个数,如果第二个参数被省略了,那么将删除从开始到结尾处的所有元素。其返回的事删除了的元素组成的数组。如果没有删除任何元素,将返回一个空数组。

如:var a=[1,2,3,4,5,6]

a.splice(4);//返回[5,6],a=[1,2,3,4]

a.splice(1,2);//返回[2,3],a=[1,4]

a.splice(1,1);//返回[4],a=[1]

splice()的前两个参数指定了应该删除的数组元素,在这两个参数之后还可以有任意多个额外菜蔬,表示,从第一个参数指定的为处开始插入的元素。

如:var a=[1,2,3,4,5]

a.splice(2,0,'a','b');//返回[];a是[1,2,3,'a','b',3,4,5]

a.splice(2,2,[1,2],3);//返回['a','b'];a是[1,2,[1,2],3,3,4,5]

7)push()方法和pop()方法

push()方法和pop()方法是我们可以像使用栈那样使用数组。push()方法可以将一个或多个新元素附加到数组的尾部,然后返回数组的新长度。pop()方法正好相反,它将删除数组的最后一个元素,减少数组的长度,然后返回它删除的值。注意,两个方法都是在原数组上修改数组,而非生成一个修改过的数组副本。

如:var stack=[];

stack.push(1,2);//堆栈[1,2];返回2

stack.pop();//堆栈[1];返回2

stack.push(3);//堆栈[1,3];返回2

stack.pop();//堆栈[1];返回3

stack.push([4,5]);//堆栈[1,[4,5]];返回2

stack.pop();//堆栈[1];返回[4,5]

stack.pop();//堆栈[];返回1

8)unshift()方法和shift()方法

unshift()方法和shift()方法的行为和push()和pop()非常相似,只不过他们是在数组的头部进行元素的插入和删除,而不是在尾部。unshift()方法会将一个或多个元素添加到数组的头部,然后把已有的元素移动到下标较大的位置以腾出空间,它返回的数组的新长度。shift()方法会删除并返回数组的第一个元素,将后面的所有元素都向前移动以填充第一个元素留下的空白。

如:var a=[] //a:[]

a.unshift(1);//a:[1];返回1

a.unshift(2);//a:[2,1];返回2

a.shift(); //a:[1];返回2

a.unshift(3,[4,5]);//a:[3,[4,5],1];返回3

a.shift(); //a:[[4,5],1];返回3

a.shift(); //a:[1];返回[4,,5]

a.shift(); //a:[];返回1

注意使用多个参数调用unshift()方法时它的行为。这些参数是被同时插入的,而不是一次只插入一个,所以参数在结果数组中的顺序和它们在参数列表中的顺序相同。

9)toString()方法

toString()方法可以将数组的每一个元素都转换成一个字符串,然后输出这些字符串的列表,字符串之间用逗号隔开。注意,在输出的结果中,数组值都周围没有方括号或者其他界定符。

如:[1,2,3].toString();//生成“1,2,3”

["a","b","c"].toString();//生成“a,b,c”

[1,[2,"c"]].toString();//生成“1,2,c”

0 0