dmi,
<script>
var json = [
{"Itemid":35,
"name":"test",
"hide":0
},
{"Itemid":36,
"name":"test22",
"hide":0
},
{"Itemid":37,
"name":"test33",
"hide":0
},
{"Itemid":38,
"name":"test32",
"hide":0
}
], arr = [{"Itemid":39,
"name":"test44",
"hide":0
},
{"Itemid":40,
"name":"test55",
"hide":0
}]
var indx = 0, a = json;
a.some(function(a, i) {
return a.Itemid == 37 && (indx = i)
})
a = a[indx];
a.parent = arr; //строка для теста
a = a.parent;
a.some(function(a, i) {
return a.Itemid == 39 && (indx = i)
})
a = a[indx];
a.parent = "abrarkadbra";
document.write(JSON.stringify(json))
</script>
|
рони,
Тебе отдельное спасибо за напутствия, в итоге написал рекурсивную функцию, где то в ней есть бок - иногда дублируются значения - найду ошибку исправлю. Для тех кто будет биться над подобной проблемой - оставлю ее тут. items - начальный json массив itemid - ид товара в который вгружать данные data - собственно данные которые надо загрузить
function putItems (items, itemid, data) {
var i = 0;
for (i = 0; i < items.length; i++) {
if (items[i].Itemid == itemid) {
items[i].parent = data;
return items;
}
var item = putItems(items[i].parent, itemid, data);
if (item != null) {
return items.concat(item);
}
}
return null;
}
|
| Часовой пояс GMT +3, время: 10:35. |