本文共 1166 字,大约阅读时间需要 3 分钟。
1.shift(从第一个元素取得元素,取一个,删除数组中一个)
var l = [1, 2, 3, 4, 5];console.log(l.shift());console.log(l);console.log(l.shift());console.log(l.shift());console.log(l.shift());console.log(l.shift());console.log(l.shift());console.log(l.shift());console.log(l);
1[ 2, 3, 4, 5 ]2345undefinedundefined[]
2.slice 切片,也就是截取一段(不改变原始数组内容)
var l = [0, 1, 2, 3, 4, 5];var l1 = l.slice(1);console.log(l);console.log(l1);// [ 0, 1, 2, 3, 4, 5 ]// [ 1, 2, 3, 4, 5 ]var l2 = l.slice(1, 4);console.log(l2);// [ 1, 2, 3 ]
因此[xxx].slice(0) 相当于clone一份数组
3.indexOf 查找(找到返回位置,从0开始计数,找不到返回-1)
var l = [0, 1, 2, 3, 4];console.log(l.indexOf(1));// 1console.log(l.indexOf(100));// -1
4.push 往尾处插入 和 pop从尾部取值 (会改变数组元素)
var l = [0, 1, 2, 3, 4];l.push(5);console.log(l);// [ 0, 1, 2, 3, 4, 5 ]var v = l.pop();console.log(l);// [ 0, 1, 2, 3, 4 ]console.log(v);// 5
5.splice删除元素
var l = [0, 1, 2, 3, 4, 5];var l1 = l.slice(1);l1.splice(0,1);console.log(l);console.log(l1);
[ 0, 1, 2, 3, 4, 5 ][ 2, 3, 4, 5 ]
可见slice是取得一个元素的副本,可以从l1看出,l1的修改,并不会影响原始数组
7.unshift 往数组arr中开头插入元素(会改变原数组)
var fruits = ["1", "2", "3", "4", "5"];fruits.unshift("-1", "-2");console.log(fruits);
[ '-1', '-2', '1', '2', '3', '4', '5' ]
转载地址:http://nztli.baihongyu.com/