JS截取数组不改变原数组
在JavaScript中,我们经常遇到需要操作数组的情况。有时候我们需要截取数组的一部分,但又不希望改变原数组。本文将详细介绍如何在JS中截取数组而不改变原数组。
使用slice()方法
在JS中,可以使用slice()
方法来截取数组的一部分,而不会改变原数组。
语法如下:
array.slice(start, end)
array
:要截取的数组start
:截取的起始位置,包括该位置的元素end
:截取的结束位置,不包括该位置的元素
示例代码:
let originalArray = [1, 2, 3, 4, 5];
let newArray = originalArray.slice(1, 4);
console.log(newArray); // [2, 3, 4]
console.log(originalArray); // [1, 2, 3, 4, 5]
在上面的示例中,我们使用slice(1, 4)
来截取originalArray
数组的索引1到索引3的元素,即[2, 3, 4]
。
需要注意的是,slice()
方法不会修改原数组,而是返回一个新的数组。
使用concat()方法
另一个不改变原数组的方法是使用concat()
方法。
语法如下:
newArray = array.concat()
示例代码:
let originalArray = [1, 2, 3, 4, 5];
let newArray = originalArray.concat();
console.log(newArray); // [1, 2, 3, 4, 5]
console.log(originalArray); // [1, 2, 3, 4, 5]
在上面的示例中,我们通过concat()
方法创建了一个原数组的副本,不改变原数组。
使用展开运算符
另一种方法是使用ES6中的展开运算符(spread operator)来复制数组。
示例代码:
let originalArray = [1, 2, 3, 4, 5];
let newArray = [...originalArray];
console.log(newArray); // [1, 2, 3, 4, 5]
console.log(originalArray); // [1, 2, 3, 4, 5]
在上面的示例中,我们使用展开运算符[...originalArray]
来复制原数组,不改变原数组。
总结
本文介绍了三种在JS中截取数组而不改变原数组的方法,分别是使用slice()
方法、concat()
方法和展开运算符。在实际开发中,根据不同的情况选择合适的方法来操作数组,确保不改变原数组的情况下得到我们想要的结果。