原文: How to Reverse an Array in JavaScript – JS .reverse() Function
在这篇文章中,我将向你展示两种在 JavaScript 中反转数组的方法。
数组的 reverse
方法是将数组的最后一项变成第一项,而将第一项变成最后一项。中间的其他项也分别被反转。
在向你展示 reverse
方法的例子之前,让我告诉你如何在不使用这个方法的情况下反转一个数组。
我有这篇文章的视频版本,你也可以看看。
如何使用 for 循环反转一个数组
使用 for
循环(或任何其他类型的循环),我们可以将一个数组从最后一项遍历到第一项,并将这些值推到一个新的数组中,成为反转的版本。方法如下:
const array = [1, 2, 3, 4]
const reversedArray = []
for(let i = array.length - 1; i >= 0; i--) {
const valueAtIndex = array[i]
reversedArray.push(valueAtIndex)
}
console.log(reversedArray)
// [4, 3, 2, 1]
通过使用 for
循环,我们从最后一个值的索引(array.length - 1
)开始循环到第一个值的索引(0
),然后我们将这些值相应地推送到 reversedArray
。
但是有一个更简单的方法来反转一个数组,那就是使用 reverse
方法。
如何使用 Array.reverse 来反转一个数组
你可以使用 reverse
方法来反转一个数组。这是一种更容易读/写的 for
循环方法。这个方法在原地反转数组,这意味着它所使用的数组被修改。
让我们看一个例子:
const array = [1, 2, 3, 4]
array.reverse()
console.log(array)
// [ 4, 3, 2, 1 ]
正如你在这个例子中看到的,应用 reverse
方法,array
被修改了。
如果你不希望 array
被修改,你可以在应用 reverse
方法之前克隆它。reverse
方法也会返回被反转的数组,所以你可以将该数组分配给一个变量。
下面是复制和反转一个数组的方法:
const array = [1, 2, 3, 4]
const reversed = [...array].reverse()
console.log(reversed)
// [ 4, 3, 2, 1 ]
console.log(array)
// [ 1, 2, 3, 4 ]
在这里使用 spread 操作符,我们首先克隆 array
,然后对克隆的数组应用 reverse
方法。然后,返回的反向数组被返回到 reverse
变量中。
正如你所看到的,在控制台记录 array
,它没有受到影响,因为我们先克隆了它。
谢谢你阅读本文!
所以,如果你需要对一个数组进行反转操作,我希望这篇文章能让你有所收获。