2013-09-27 4 views
2

Примечание: Я предполагаю, что этот вопрос задан в миллион раз раньше, но я не знал, что искать. Вопрос очень прост. Массив в javascript, по-видимому, устанавливается по ссылке. Как я могу установить его по значению. Значение, даже если я опорожнить массив, я хочу массив б быть копия есть, я хочу alert(b), чтобы предупредить ['1','2','3']Массив, установленный по ссылке/установленный по значению

var a = ['1','2','3']; 
var b = []; 
b = a; 
a.length = 0; 
alert(b); 

здесь является jsfiddle http://jsfiddle.net/e5mQM/

ответ

5

Да, установка a = b; сделает обе переменные указывают на тот же массив/объект, так что вы должны скопировать массив, а не просто ссылаться на него:

b = a.slice(); 

JavaScripts slice() метод возвращает новый ARRA y нарезанный на основе заданных параметров, и если вызывается без параметров, он вернет новую мелкую копию всего массива.

Смежные вопросы