You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中slice方法使用疑问:为何slice(1,3)未包含索引3的元素?

你对slice方法的第二个入参的取值范围认知存在疏漏,JavaScript的slice方法遵循左闭右开的取值规则:

  • 第一个参数为提取的起始下标,提取结果会包含该下标对应的元素
  • 第二个参数为提取的终止下标,提取结果不会包含该下标对应的元素

对应你的测试代码:

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
console.log(citrus);

你传入的起始下标是1,终止下标是3,所以只会提取下标1、2对应的元素,也就是Orange和Lemon,和实际运行结果一致。

如果你想要提取到下标3对应的Apple,需要将终止下标设置为4,调用方式改为fruits.slice(1, 4)即可。

另外补充两个slice的常用规则方便你后续使用:

  • 如果只传入一个参数,slice会从传入的起始下标开始,一直提取到数组末尾
  • 如果传入的参数为负数,会从数组的末尾倒序计算下标,比如slice(-3)会提取数组的最后三个元素

内容的提问来源于stack exchange,提问作者EastsideDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 02:36:00