Я пытаюсь добавить объект в массив, но cart[i]['items'][j][order]
не устанавливается должным образом.
При регистрации cart[i]['order']
возвращается Object
.
Корзина имеет вид:
[{
"order": {
"amtSubTotal": 3812.8900000000003,
"noPo": "Default P.O."
},
"items": [{
"adjustments": { "isCustom": "N" },
"lineNote": { "noteLine": "" }
},{
"adjustments": { "isCustom": "N" },
"lineNote": { "noteLine": "" }
}]
}]
Ожидаемый результат
[{
"order": { "amtSubTotal": 3812.8900000000003,"noPo": "Default P.O." },
"adjustments": { "isCustom": "N" },
"lineNote": { "noteLine": "" }
}, {
"order": { "amtSubTotal": 3812.8900000000003,"noPo": "Default P.O." },
"adjustments": { "isCustom": "N" },
"lineNote": { "noteLine": "" }
}]
Код
let cart = JSON.parse(localStorage.getItem('cart-data'));
let i = 0, j = 0, l = cart.length;
let nData = [];
for (i = 0; i < l; i++) {
let m = cart[i]['items'].length;
for (j = 0; j < m; j++) { // Spreading data {...data[i]} created a shallow copy bug
cart[i]['items'][j].push({"order": cart[i]['order']}); // Try using JSON methods instead
nData.push(cart[i]['items'][j]);
}
}
Альтернативная попытка
for (i = 0; i < l; i++) {
let m = cart[i]['items'].length;
for (j = 0; j < m; j++) {
// cart[i]['items'][j]['order'] = JSON.stringify(JSON.parse(cart[i]['order'])); // Try using JSON methods instead
nData.push(cart[i]['items'][j]);
}
}
console.log(nData); // order data not appended to cart[i]['items'][j]
Как добавить этот объект к каждому элементу cart[i]['items'][j]
?