数组方法

栈方法

push()方法

push()方法可以接收任意数量的参数,并把它们逐个添加到数组的尾部,返回修改后数组的长度

pop()方法

    pop()方法从数组的末尾移除最后一项,减少数组的length值,然后返回移除的项

队列方法

unshift()方法

unshift() 方法能在数组前添加任意项,然后返回数组的长度

shift()方法

shift()方法能移除数组中的第一项,并返回改项,同时数组的长度减去1

栈方法和队列方法对数组操作的返回值:1.为数组添加项的返回值都为数组的长度;2.移除数组项的方法的返回值都为所移除的项

重排序方法

reverse()方法

reverse()方法会数组项的顺序

sort()方法

1.当使用arr.sort()方法时,如果没有给sort()方法传递函数,则sort()方法会调用每个数组项的toString()转型方法,得到字符串,然后排序。

例如:var values = [0,1,5,10,15];

            valuse.sort();   // 0,1,10,15,5

如上所示,sort()方法虽然会根据测试字符串改变原来的顺序,但在进行字符串比较时,‘10’则位于‘5’的前面,于是数组的顺序就被修改了,所以这种方法在大多数情况下并不是最佳方案。因此sort()方法可以接收一个比较函数作为参数。

2.arr.sort(function(a,b){

    return a-b

})

这种方法适用于大多数方法,这种方法的原理其实就是冒泡排序。

操作方法

concat()方法

concat()方法可以基于当前数组的所有项创建一个新的数组,也就是说它会创建一个副本,然后将接收到的参数添加到这个副本的尾部,如果没有传参它只是复制当前数组并返回副本。

concat()方法和push()方法很像,都是往数组的末尾添加数组,不过他们也是有区别的,concat()的返回值是一个新的数组,它并没有改变原来的数组,push()的返回值是当前数组的长度,它已经改变了当前数组。

slice()方法

slice()方法可以接收一个或两个参数,即要返回项的起始位置和结束位置。在只有一个参数的情况下,会返回从该参数位置开始到当前数组的末尾项。 注意:slice()方法不会影响原始数组。

splice()方法

splice()方法三种使用方式:

1.删除:可以删除任意数量的项,至需要两个参数,要删除的第一项的位置和要删除的项数。

2.插入:可以向任意位置插入任意数量的项,只需要提供三个参数:起始位置、0(要删除的项数)、和要插入的项。如果要插入多个项,可以传入第四、第五,以至任意多个项。

3.替换:可以向指定位置插入任意数量的项,且同属删除任意数量的项。只需要将第二个参数修改为要删除的项的个数即可。

splice()方法始终都会返回一个数组,该数组包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。

位置方法

indexOf()方法

lastIndexOf()方法

这两个方法都接收两个参数:要查找的项和表示查找起点位置的索引(可选);indexOf()表示从头查找,lastIndexOf()表示从尾部查找。会返回要查找项的索引,如果没有找到则返回-1



你可能感兴趣的:(数组方法)