如何在 JavaScript 中反转数组,同时保留原始数组的原始值? [复制]

Posted

技术标签:

【中文标题】如何在 JavaScript 中反转数组,同时保留原始数组的原始值? [复制]【英文标题】:How do I reverse an array in JavaScript while preserving the original value of the original array? [duplicate] 【发布时间】:2015-06-30 10:03:42 【问题描述】:

我正在尝试使用 javascript 中的 .reverse() 方法反转数组的顺序,但也尝试保留原始数组中元素的原始顺序。当我将值保存到变量中时,我最终会转置原始数组中的元素并创建一个具有相同格式的新元素。执行此任务最雄辩的方式是什么?

var arrayOne = [1,2,3,4,5];
var arrayTwo = arrayOne.reverse();
//arrayTwo = [5, 4, 3, 2, 1]
//arrayOne = [5, 4, 3, 2, 1]

【问题讨论】:

您是否需要在单独的变量上实际反转它,或者您可以从它的长度属性向后迭代? 您必须进行克隆。 reverse 方法是一种可变方法,因此原始数组会被更改。简单地为它设置另一个数组不会保留它 切片方法见***.com/questions/15722433/… 更多重复的***.com/questions/23666679/… 【参考方案1】:
var arrayTwo = arrayOne.slice().reverse();

Slice 会克隆数组

【讨论】:

是的。注意是浅拷贝:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 这个问题显然是重复的。下次请找到 dup 并关闭。你有代表这样做 谢谢@jcubic 和 Ramón Gil Moreno,我会为你教育我投赞成票,但正如 mplungjan 所说的那样,我的“ONE”代表让我花了无数数小时浏览数百个相关问题,它抑制了我回报启发我的能力。我很感激。说真的 Stack Overflow 上最烦人的事情。

以上是关于如何在 JavaScript 中反转数组,同时保留原始数组的原始值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 javascript/typescript 事件回调中访问它,同时保留 removeEventListener 的能力? [复制]

在javascript中反转数组

删除数组中的空双引号元素,同时保留其他元素

反转存储在 javascript 变量中的 JSON 数组

如何使用循环反转numpy数组

三元运算符如何比较 JavaScript 中的字符和数字?