zl程序教程

您现在的位置是:首页 >  前端

当前栏目

JavaScript Array数组slice方法的使用

JavaScript方法数组 Array Slice 使用
2023-09-11 14:21:46 时间

语法:

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 会一直提取到原数组末尾。

返回值

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

实例1:

var arr = [1,2,3,4,5]
var newArr = arr.slice();//与arr.slice(0)是一样的效果
console.log("原数组",arr);
console.log("返回值",newArr);

输出:

原数组 (5) [1, 2, 3, 4, 5]
返回值 (5) [1, 2, 3, 4, 5]

因为arr.slice() 是两个参数都缺省,等于begin是0,end缺省会取到数组结尾,所以会取到跟原数组一样的新数组。

实例2:

var arr = [1,2,3,4,5]
var newArr = arr.slice(1);
console.log("原数组",arr);
console.log("返回值",newArr);

输出:

原数组 (5) [1, 2, 3, 4, 5]
返回值 (4) [2, 3, 4, 5]

arr.slice(1)等于是从索引1开始取到数组结尾,总4个元素[2,3,4,5]。

实例3:

var arr = [1,2,3,4,5]
var newArr = arr.slice(1,3);
console.log("原数组",arr);
console.log("返回值",newArr);

输出:

原数组 (5) [1, 2, 3, 4, 5]
返回值 (2) [2, 3]

arr.slice(1,3) 取索引1-3直接的元素,包含1但不包含3,也就是索引1,2所对应的元素,故返回[2,3]