如何在不改变其内容的情况下引用数组

时间:2015-07-10 19:00:59

标签: javascript arrays

我怎么能写这个,以便我不改变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

3 个答案:

答案 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();