15.11.2011, 18:28
|
Аспирант
|
|
Регистрация: 24.07.2009
Сообщений: 62
|
|
array merge без замещения
друзья, попробовал разные функции погуглить, но все сливают с пересечением.
есть массив arr и в нем еще один - items, в нем последовательно перечислены элементы вроде ['items'][0]['id'] = 1, ['items'][0]['stat'] = 1...
потом появляется еще один такой же arr, но с новыми данными. Их нужно не заменить, а добавить. Т.е. если в items 10 элементов, остальные прибавить после 9ого индекса, без замещения. Ведь в новом arr нумерация продет так же от 0 до 9. Т.е. нужно чтобы в слитом массиве получилось 20 элементов items.
|
|
15.11.2011, 18:32
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
__________________
29375, 35
|
|
15.11.2011, 19:41
|
Аспирант
|
|
Регистрация: 24.07.2009
Сообщений: 62
|
|
увы, получается в новом массиве [0]['items'] - от нового и следующий в этом уровне ['items'] - от старого массива. Т.е. на одном уровне [0] и ['items']. А нужно чтобы ['items'] слились
|
|
15.11.2011, 20:08
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Оно?
arr1= [0, 1, 2, 3];
arr2= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
arr1.push.apply(arr1, arr2.slice(arr1.length));
alert(arr1);
|
|
15.11.2011, 20:16
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Сообщение от trikadin
|
Оно?
|
Не оно, push.apply это тот же concat, только через попу.
__________________
29375, 35
|
|
15.11.2011, 20:21
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от Aetae
|
Не оно, push.apply это тот же concat, только через попу.
|
Да разница. Я о том, чтобы slice'ом отрезать кусок массива.
|
|
15.11.2011, 20:27
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Я воспризвел примерно его структуру:
var arr=
[
{
'items':
[
{
'id':1,
'stat':1
},
{
'id':10,
'stat':12
}
],
'someshit': 'someshit'
},
'arrayelement'
];
alert(arr[0]['items'][0]['id'])
alert(arr[0]['items'][1]['stat'])
Имхо работать с этим - извращение, нативными функциями точно не отделаешься.
__________________
29375, 35
Последний раз редактировалось Aetae, 15.11.2011 в 20:31.
|
|
15.11.2011, 20:34
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Разве что в цикле:
arr[i]['items'].concat(arr2[i]['items'])
Если я правильно понял задачу.
__________________
29375, 35
|
|
|
|