JavaScript toReversed 方法
最后修改于 2025 年 4 月 4 日
在本文中,我们将展示如何使用 JavaScript 中的 toReversed
方法反转数组。该方法是在 ECMAScript 2023 中引入的。
数组反转
数组反转是更改数组中元素顺序的操作。toReversed
方法返回一个新数组,其中的元素按相反的顺序排列。与 reverse
方法不同,它不会修改原始数组。
当您需要处理反向数据同时保留原始数组时,此方法非常有用。toReversed
方法是 JavaScript 中新的非变异数组方法系列的一部分。
该方法适用于任何具有 length 属性和索引元素的类似数组的对象。它在反转之前创建数组的浅拷贝。原始数组在操作后保持不变。
基本的 toReversed 示例
以下示例演示了 toReversed
方法的基本用法。
const numbers = [1, 2, 3, 4, 5]; const reversedNumbers = numbers.toReversed(); console.log(numbers); // Original array unchanged console.log(reversedNumbers); // New reversed array
我们创建一个数组并使用 toReversed
反转它。原始数组保持不变。该方法返回一个新数组,其中的元素按相反的顺序排列。
$ node main.js [ 1, 2, 3, 4, 5 ] [ 5, 4, 3, 2, 1 ]
反转字符串数组
toReversed
方法适用于包含任何数据类型的数组。
const fruits = ['apple', 'banana', 'cherry', 'date']; const reversedFruits = fruits.toReversed(); console.log(fruits); console.log(reversedFruits);
我们反转一个字符串数组。原始数组保持原样,同时我们获得一个新数组,其中的元素按相反的顺序排列。这适用于任何数组元素类型。
$ node main.js [ 'apple', 'banana', 'cherry', 'date' ] [ 'date', 'cherry', 'banana', 'apple' ]
比较 toReversed 与 reverse
此示例显示了 toReversed
和变异的 reverse
方法之间的区别。
const original1 = [1, 2, 3]; const result1 = original1.toReversed(); const original2 = [1, 2, 3]; const result2 = original2.reverse(); console.log(original1, result1); console.log(original2, result2);
我们演示了这两种方法之间的关键区别。toReversed
保留了原始数组,而 reverse
在原位修改了它。这两种方法都会产生相同的反向输出。
$ node main.js [ 1, 2, 3 ] [ 3, 2, 1 ] [ 3, 2, 1 ] [ 3, 2, 1 ]
反转稀疏数组
toReversed
方法处理稀疏数组(带有空洞的数组)。
const sparseArray = [1, , 3, , 5]; const reversedSparse = sparseArray.toReversed(); console.log(sparseArray); console.log(reversedSparse);
我们创建一个带有空槽的稀疏数组并将其反转。空槽保留在反向数组中。该方法在结果中保持数组的稀疏模式。
$ node main.js [ 1, <1 empty item>, 3, <1 empty item>, 5 ] [ 5, <1 empty item>, 3, <1 empty item>, 1 ]
将 toReversed 与类似数组的对象一起使用
toReversed
方法可以在类似数组的对象上调用。
const arrayLike = { length: 3, 0: 'a', 1: 'b', 2: 'c' }; const reversed = Array.prototype.toReversed.call(arrayLike); console.log(reversed);
我们演示了如何将 toReversed
与类似数组的对象一起使用。该方法使用 Array.prototype
调用,并适用于任何具有 length 和索引属性的对象。
$ node main.js [ 'c', 'b', 'a' ]
来源
在本文中,我们演示了如何使用 toReversed() 方法在 JavaScript 中反转数组而不进行修改。
作者
列出 所有 JS 数组函数。