关于javascript中数组的操作方法
1,实现栈的方法
push和pop
先进后出原则,push压入数据到数组末尾,pop弹出最后一个元素,并删除。
2,实现队列的方法
push+shift或者unshift+pop
根据先进先出原则
(1)第一种方法:push压入数据到数组末尾,shift弹出数组的首元素
(2)第二种方法:unshift压入数据到数组开头,pop弹出数组的尾元素
3,排序方法
reverse和sort
(1)当前数组倒序排列使用reverse方法,会改变当前数组的元素排序,是元素全部倒置,但不是生成新数组副本
(2)sort排序方法,可以传输排序函数或者使用匿名函数,例如:
下面代码中value1-value2的值大于0则交换彼此位置,实现生序排列,如果想实现降序,那么使用return value2-value1
var sortArr = [0,2,4,7,34,5,12,42]; sortArr.sort(function (value1, value2){ return value1 - value2; });
4,拼接数组方法
concat
(1)利用该方法可以复制数组,当不传入任何参数时,就会返回一个当前数组的副本,不会改变原数组的内容
(2)利用该方法传入多个参数时,返回一个当前数组+参数元素的副本,不会改变原数组的内容
5,切割方法
slice
(1)利用该方法可以复制当前数组,使用slice(0)即可,从元素0开始到元素结尾生成一个副本,不会影响原数组
(2)利用该方法可以切割出原数组中的部分内容,slice(1, 4),切割从元素1到元素3的内容到一个新的数组副本,不会影响原数组
6,更强大的拼接数组方法
splice
这应该是数组操作方法中最强大的方法了
主要用途有3种,删除,插入,替换
(1)删除任意数量的元素,只需指定两个参数splice(2,3),会删除数组中从第三个元素开始的三个元素,第一个参数2表示数组下 标,第二个参数3表示要删除的元素个数
(2)插入任意数量的元素,至少提供三个参数,splice(2, 0, 'green', 'orange'),表示从下标2处,删除0个元素,然后插入green 和orange元素
(3)替换任意数量的元素,跟上面差不多,splice(2, 1, 'green'),表示从下标2处开始,删除1个元素,然后插入green元素,当 然也可以删除多个元素,插入更多的元素