(1)slice
- slice是用来截取的
- 返回一个新数组,不会改变原数组,属于浅拷贝
var a = [1, 2, 3, 4, 5]; console.log(a.slice(1, 3)); //从下标0开始,包含start参数,不包含end参数,返回[2,3] console.log(a.slice(0, -1)); //从下标0开始到倒数第1个,但不包含倒数第一个,返回[1,2,3,4] console.log(a.slice(-3, -1)); //从倒数第3个开始到倒数第1个,但不包含倒数第一个,返回[3,4] console.log(a.slice(-3)); //3,4,5 //倒数第三个往后
(2)splice
- splice是用来插入、删除、替换原数组
- 会返回被删除的元素
- 会改变原数组,不属于浅拷贝
var arr = [1, 2, 3, 4, 5]; //第一个参数是开始的位置,正数为数组下标,负数n是倒数第n个 //第二个参数是删除的个数 //第三四五n个参数是插入的元素 console.log(b.splice(-1, 1)) //删除最后一个元素 返回5 console.log(b.splice(-1, 1, '替换')) //替换倒数第一个 console.log(b.splice(length, 0, '插入')); //length是没有参数,那么就是新增元素