Копирование массива в другой массив
Есть массивы
arr1 = [0, 1, 2, ["a,b,c"], "aaaa", [["d,e,f"], 4, 5]; и arr2 = ["blabla", "blabla", "blabla"]; Массив arr1 нужно скопировать в массив arr2[0]. Результат должен выглядеть так: arr2 = [[0, 1, 2, [a,b,c], "aaaa", [[d,e,f], 4, 5], "blabla", "blabla"]; Как это можно реализовать? Погуглив, нашел пару функций, но они отказались адекватно копировать. Так же рекомендовали jquery. Но ради копирования массивов обращаться к такой серьезной штуке что-то не хочется. |
arr2.unshift(arr1);
|
Цитата:
|
Цитата:
|
var Arr1 = ["1", "2", "3"]; var Arr2 = [[1,2],[1,2]]; Arr2.unshift(Arr1.slice()); alert(Arr2[0]); |
Не прокатило.
var Arr1 = ["1", "2", "3", ["1","2","3"]]; var Arr2 = [[1,2],[1,2]]; Arr2.unshift(Arr1.slice()); alert(Arr2[0]); Arr1[3][1] = "BEDA"; alert(Arr2[0][3][1]); //"BEDA" var Arr1 = ["1", "2", "3", ["1","2","3"]]; var Arr2 = [[1,2],[1,2]]; Arr2.unshift([].concat(Arr1)); alert(Arr2[0]); Arr1[3][1] = "BEDA"; alert(Arr2[0][3][1]); //"BEDA" |
полностью новый объект, никак не привязанный к исходному, можно сделать с помощью
Arr1Copy = JSON.parse(JSON.stringify(Arr1)) |
Либо обойти рекурсивно.
|
Цитата:
|
Цитата:
Цитата:
Цитата:
var arr = [1,2]; arr[2] = arr; try { var x = JSON.stringify(arr); }catch(e) { alert(e); } |
Часовой пояс GMT +3, время: 20:42. |