先上代码
arrayObj.splice();将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回新数组。 var arr2=[1,2,3,4,5]; 从索引1开始,删除3个元素,插入2个字符串 var arr3=arr2.splice(1,3) console.log(arr2)//[1,5] console.log(arr3)//[2,3,4]
arrayObj.slice(start, [end]); 以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素,请注意,该方法并不会修改数组,而是返回一个子数组。 var arr4=[1,2,3,4]; var arr5=arr4.slice(1,3) console.log(arr4)//[1,2,3,4] console.log(arr5)//[2,3]
总结:splice()非常霸道,它会改变数组,返回一个新的数组, slice()比较温柔,不会修改数组,而是返回一个子数组。