2015-07-10 3 views
0

Как я могу написать это, чтобы изменить порядок myApp.myArr2 и не ссылаться на него?Как обращаться к массиву без изменения его содержимого

Я хочу второй последняя линия для производства «привет мир» и последнюю строку, чтобы произвести «мир привет»

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 
+1

Какой язык программирования? – Marki555

+0

Привет - Я использую JavaScript –

ответ

1

Попробуйте это:

Измените строку из :

myApp.myNewArr2 = temp.reverse(); 

в

myApp.myNewArr2 = temp.slice().reverse(); 

Пример ссылки JSFiddle - here.

Удачи.

+0

Awesome. Большое спасибо! –

+0

:) уверен (надеюсь, что вы уже приняли это как ответ) –

0

Array.prototype.reverse сделать обратный массив на месте. Это правда. Если вы хотите получить копию вы можете сделать это с помощью следующего кода:

function reverseCopy(array) { 
    var copy = []; 
    array.forEach(function(e) { copy.unshift(e); }); 
    return copy; 
} 
0

Чтобы получить копию массива вы можете сделать:

var newArray = oldArray.slice();