📅  最后修改于: 2023-12-03 15:40:08.913000             🧑  作者: Mango
在 JavaScript 中,反向一个数组通常需要修改原数组。但是,如果你想保留原数组并得到一个反向的数组呢?这里有一个简单的方法来实现这个目标,而且不需要修改原始数组。
我们可以使用 slice
和 reverse
方法来创建一个逆序的数组。我们可以传入 slice
方法一个负数作为参数,表示要从数组末尾开始取值,然后使用 reverse
方法将数组反转。
const arr = [1, 2, 3, 4, 5];
const reversedArr = arr.slice().reverse();
console.log(reversedArr); // [5, 4, 3, 2, 1]
console.log(arr); // [1, 2, 3, 4, 5]
上面的例子中,我们首先使用 slice
方法创建 arr
的一个副本,然后使用 reverse
方法反转它,并将结果存储到 reversedArr
变量中。由于我们使用 slice
方法的副本来创建 reversedArr
,因此原始数组 arr
不会受到任何影响。
/**
* 返回一个与原数组逆序的新数组,原数组不受影响
* @param {Array} arr - 要反向的数组
* @returns {Array} 反向的新数组
*/
function reverseArray(arr) {
return arr.slice().reverse();
}
上面的代码实现了一个名为 reverseArray
的函数,它接受一个数组作为参数并返回一个逆序的新数组,而原始数组不会受到任何影响。
使用 slice
和 reverse
方法可以很容易地创建一个逆序的数组,而不需要修改原数组。上面的例子和代码片段演示了如何实现这一点,并提供了一个可复用的函数来实现这个目标。记住,始终要保留原始数组的完整性,并根据需要使用副本进行操作!