【发布时间】:2014-07-03 05:14:31
【问题描述】:
这是我的小提琴:http://jsfiddle.net/sepoto/Zgu9J/1/
我从一个反向函数开始:
function reverseArr(input) {
var ret = new Array;
for(var i = input.length-1; i >= 0; i--) {
ret.push(input[i]);
}
//I tried changing the return value to
//return ret.slice(0) which has no effect on making
//an independent copy
return ret;
}
我制作的第二个数组 pointOrigins2 不是 pointOrigins1 的独立副本。换句话说,修改 pointOrigins2 也是修改 pointOrigins1 ,这不是我需要实现的。根据我对 StackOverflow 的阅读,我尝试了一些选项,例如使用 slice 或使用 for 循环,但似乎没有任何效果,所以我做了一个小提琴。
有没有办法制作一个反转数组的独立副本?
【问题讨论】:
-
return input.slice().reverse();? -
input.map( (x,i,arr) => arr[arr.length - 1 - i])
-
return Array.from(input).reverse();
-
这个愚蠢的问题最终得到了更好的答案stackoverflow.com/questions/30610523/…
标签: javascript arrays reverse