
数组
|
119
5.8
按位置复制数组的一部分
5.8.1
问题
你想复制数组的一部分,同时保证原数组完整无缺。
5.8.2
方案
使用
Array.slice()
方法。该方法对现有数组的一部分做浅拷贝,返回一个新数组,
包含复制的部分。
const
animals = ['elephant', 'tiger', 'lion', 'zebra', 'cat', 'dog',
'rabbit', 'goose'];
//
获取索引位
4
到
7
之间的部分
const
domestic = animals.slice(4, 7);
console.log(domestic); // ['cat', 'dog', 'rabbit']
5.8.3
讨论
slice()
方法接受两个参数,分别指明起始位置和结束位置。第二个参数可以省略,
此时从起始索引一直截取到数组末尾。在一个数组上调用
slice(0)
,复 制整个数组。
例如,下述代码使用
slice()
方
法获取第一个数组的两个部分,然后用这两部分构
建一个新数组。
const
animals = ['elephant', 'tiger', 'lion', 'zebra', 'cat', 'dog',
'rabbit', 'goose'];
const
firstHalf = animals.slice(0, 3);
const
secondHalf = animals.slice(4, 7);