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)返回数组

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建数组 arr.length--- title: js正则表达式categories: javascriptda...
    angelwgh阅读 1,412评论 0 2
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 4,228评论 0 6
  • 一、数组方法汇总 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var ...
    快抓住那个胖子阅读 303评论 0 0
  • 由于最近都在freecodecamp上刷代码,运用了很多JavaScript数组的方法,因此做了一份关于JavaS...
    2bc5f46e925b阅读 2,039评论 0 16
  • 数组的定义 数组是按序号排列的一组值,每个值的位置都有编号(从0开始)。数组本质上是一种特殊的对象。它的键名是按(...
    Allin_Lin阅读 581评论 0 0