数组方法slice(数组方法filter)

数组方法slice(数组方法filter)arr slice begin end begin 参数 可选 从该索引开始提取原数组元素 如果该参数为负数 则表示从原数组中的倒数第几个元素开始提取 此参数缺省为 0 如果 begin 超出原数组的索引范围 则会返回空数组 end 参数 可选 在该索引处结束提取原数组元素 slice 会提取原数组中索引从 begin 到 end 的所有元素 包含 begin 但不包含 end

大家好,我是讯享网,很高兴认识大家。




arr.slice([begin[, end]])


begin参数:可选

从该索引开始提取原数组元素。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取。

此参数缺省为0,如果 begin 超出原数组的索引范围,则会返回空数组。

end参数:可选

在该索引处结束提取原数组元素,slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。

如:slice(0,2) 会提取原数组中从第1个元素开始到第3元素之间的(不包含第3个元素)所有元素 (即索引为 0,1的元素)。

[注]如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。

如果 end 被省略或者大于数组的长度,则 slice 会一直提取到原数组末尾。

返回值

一个含有被提取元素的新数组。


讯享网

JavaScript Array方法slice与splice小结_指定位置

  • 这个函数比Python语言中的列表切片操作功能要弱(Python语言中的切片还可以指定步长值)。
  • 此方法不会修改原始数组。
  • begin和end参数都用于指示截取子串的位置,而且总按照自左到右的方向截取。还有,end值对应的元素(如果存在的话)总不包含,而且总是从其位置处减1后的左侧位置处(如果存在)读取元素。即:end 是提取此索引之前的元素,不包括索引 end 在内。
  • 如果未定义,start 的默认值为 0。如果 start 大于数组的索引范围, slice() 方法将返回一个空数组。

array.splice(index,howmany,item1,…..,itemX)


  • index:必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
  • howmany: 可选。规定应该删除多少元素。必须是数字,但可以是 “0”。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
  • item1, …, itemX:可选。要添加到数组的新元素。

Array,如果从 array中删除了元素,则返回的是含有被删除的元素的数组。

JavaScript Array方法slice与splice小结_数组元素_02

splice() 方法功能比较强,它可以实现删除指定数量的元素、替换指定元素以及在指定位置添加元素。这些不同功能的实现需要结合方法参数来确定:

  • 当参数只有 index 和 howmany 两个参数时,如果 howmany 不等于 0,splice() 方法实现删除功能,同时返回所删除的元素:从 index参数指定位置开始删除 count 参数指定个数的元素;
  • 当参数为 3 个以上,且 howmany 参数不为0时,splice() 方法实现替换功能,同时返回所替换的元素:用第三个及其之后的参数替换 index 参数指定位置开始的 howmany 参数指定个数的元素;
  • 当参数为 3 个以上,且 howmany 参数为 0 时,splice() 方法的实现添加功能:用第三个及其之后的参数添加到 index 参数指定位置上。

返回值:数组类型;如果从 array 中删除了元素,则返回的是含有被删除的元素的数组。


“2山3梯0添加”


  • 当有两个参数时:删除操作;
  • 当有>=3个元素时:如果第2个参数不等于0,代表是替换操作,如果第2个参数为0,代表是添加操作。

https://blog.csdn.net/dkm/article/details/

https://zhuanlan.zhihu.com/p/

https://www.runoob.com/jsref/jsref-slice-array.html

https://m.php.cn/article/487471.html

小讯
上一篇 2025-06-09 10:06
下一篇 2025-04-21 18:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/179342.html