[JavaScript] 使用 slice() 获取子数组

和Python的语法相似,复制原字符串的一部分并返回,从起始位置开始,到终止位置结束(但不包含终止位置的元素),原字符串不变。

const arr = [1, 2, 3, 4, 5];
arr.slice(3); // returns [4, 5]; arr unmodified
arr.slice(2, 4); // returns [3, 4]; arr unmodified
arr.slice(-2); // returns [4, 5]; arr unmodified
arr.slice(1, -2); // returns [2, 3]; arr unmodified

// 从倒数第2个元素开始,到倒数第一个元素结束,但不包含倒数第一个元素
arr.slice(-2, -1); // returns [4]; arr unmodified

语法

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

begin 可选,可为负。如果 begin 大于数组长度,返回空数组。slice(-1) 提取最后一个元素,slice(-2)提取最后两个元素,依次类推。
slice() 返回整个数组。

end可选,可为负。如果大于数组长度,则实际取值为数组长度。

手动测试写slice(,) 错误,slice(,1) 错误,slice(1,) ok,当然实际也不应该写slice(1,) 这样的表达式。如果出现负数,倒数第一个元素的索引为 -1, 倒数第二个为-2, 类推,实际对应 arr.length + index, 如例子中的arr,arr.length为5, -1 正好对应 5-1 = 4, 索引为4即最后一个元素。


[1] https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值