JavaScript 有关数组的 slice 截断函数

本文详细介绍了JavaScript中的slice()方法,用于创建数组的浅拷贝。讲解了其参数begin和end的用法,包括正数和负数索引的含义。示例展示了不同参数组合下的切片效果,帮助理解slice()如何选取数组子集。重点强调end参数不包含在结果数组内,以及当begin超出原数组索引时返回空数组的情况。
摘要由CSDN通过智能技术生成

slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝 (包括 begin ,不包括end )。

8ageo87g5areu1faj2pa

原始数组不会被改变。

重点关注

  • 针对这个函数需要重点关注的是 end 这个元素不在拷贝出来的数组中。
  • 数组的下标从 0 开始。

请考察下面的代码:

const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]

console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

console.log(animals.slice(-2));
// expected output: Array ["duck", "elephant"]

console.log(animals.slice(2, -1));
// expected output: Array ["camel", "duck"]

如果你指定了一个下标的话,那么你返回的数组将会是从当前下标到结尾。

如果你提供的是负数,那么负数是从数组中的最后一个元素开始倒数,最后的一个元素对应的数值是 -1。

如下图显示的下标的排序和定义。

javascript-Slice

如果 begin 超出原数组的索引范围,则会返回空数组。

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

slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。

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

如果 end 被省略,则 slice 会一直提取到原数组末尾。

如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

https://www.ossez.com/t/javascript-slice/13703

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HoneyMoose

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值