js数组方法slice与splice的区别

数组实例方法splice通过移除现有元素或者增加新的元素来改变原始数组。方法参数挺多,属于比较复杂的方法。方法返回值是数组,里面是被删除的数组元素。如果没有删除元素则返回空数组

句法: array.splice(startIndex[, deleteCount[, item1[, item2[, ...]]]])

开始的元素下标位置(startIndex)、删除个数(deleteCount)、被添加的元素(item123...)。如果startIndex大于数组长度,startIndex会被设成数组长度len; 如果startIndex小于零,则-1代表数组最后一个位置,绝对值大于数组长度时被设成0。如果deleteCount<=0则不会删除元素此情况下至少指定一个被添加的元素,deleteCount被省略或大于数组长度len - startIndex,则startIndex后面的元素都会被删除。itme123...是从startIndex开始被添加进去数组的,如果不指定splice只会删除元素。


数组实例slice方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改。

句法: arr.slice([begin[, end]])左闭右开

开始(start)如果被省略就从0开始,小于0(例如-2就是倒数第二个)。结束(end)如果被省略或大于arr.length就是arr.length,小于0也是可以使用的。

slice一般是结合call将一个类数组变成真数组,Array.prototype.slice.call(arr-like)返回数组

你可能感兴趣的:(js数组方法slice与splice的区别)