我怎么能写这个,以便我不改变myApp.myArr2的顺序而只改为引用它?
我希望第二行产生'hello world'和最后一行产生'world hello'
myApp.myArr2 = ["hello", "world"];
function reverseArray(temp) {
myApp.myNewArr2 = temp.reverse();
};
reverseArray(myApp.myArr2);
console.log(myApp.myArr2); // world hello
console.log(myApp.myNewArr2); // world hello
答案 0 :(得分:1)
试试这个:
更改以下行:
myApp.myNewArr2 = temp.reverse();
到
myApp.myNewArr2 = temp.slice().reverse();
JSFiddle链接示例是here。
祝你好运。
答案 1 :(得分:0)
Array.prototype.reverse就地生成反向数组。这是真的。如果您想获得副本,可以使用以下代码进行复制:
function reverseCopy(array) {
var copy = [];
array.forEach(function(e) { copy.unshift(e); });
return copy;
}
答案 2 :(得分:0)
要获取数组的副本,您可以这样做:
var newArray = oldArray.slice();