1.splice和slice的区别:
slice的操作不影响原数组。会返回所选择的元素。(从哪到哪开始删)
splice往数组中指定位置添加或删除元素,会影响原数组。返回被删除的元素,(从什么位置开始,删几个?删了后插入什么新元素?)
2.splice和slice的用法
slice语法
array.slice(start, end);
参数start: 必需。起始元素,使用负数可从数组结尾处规定位置。
end:可选。截止元素(截取不包含此元素)。
代码:
var arr = [1,2,3,4,5];
console.log(arr.slice(1));//[2,3,4,5] 选择序列号从1到最后的所有元素组成的新数组。
console.log(arr.slice(1,3))//[2,3] 不包含end,序列号为3的元素
splice语法(该方法会改变原数组)
array.splice(index, howmany, item1, …, itemX);
参数index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX: 可选。向数组添加的新项目。
代码:
var arr = [1,2,3,4,5];
console.log(arr.splice(2,1,"hello"));//[3] 返回的新数组
console.log(arr);//[1, 2, "hello", 4, 5] 改变了原数组