如何在JavaScript和Node.js中反转一个数组

379 阅读1分钟

在JavaScript中处理数组时,你可能需要对它进行反转。反转数组将使最后一项成为第一项,倒数第二项成为第二项,以此类推。本教程展示了如何在JavaScript中反转数组以及需要注意的副作用。

反转数组并突变原数

JavaScript为数组提供了一个reverse 方法。你可以直接使用array.reverse() 方法,并检索出反转的数组。这里要注意:reverse 方法会改变原始数组:

const numbers = [1, 2, 3]

numbers.reverse()

console.log(numbers)  
// [3, 2, 1]

在不改变原始数组的情况下反转数组

当在JavaScript中反转一个数组时,你可能想保持原数组的 "原样"。你可以使用传播操作符、concatslice 方法复制一个现有的数组。这三种方法都保留了原始数组的顺序,只对副本进行变异:

const numbers = [1, 2, 3]

const reversed = [].concat(numbers).reverse()  
// or
const reversed = numbers.slice().reverse()  
// or
const reversed = [...numbers].reverse()  

我们通常使用传播操作符 ([...numbers]) 来创建一个给定数组的副本。这是团队中常见的方法,因为我们知道传播操作符的作用,以及为什么我们要把一个数组传播到另一个数组中。

就这样吧!享受反转数组的乐趣吧!