Ich bin json object orderData aggregieren, wenn sie die gleiche order_id haben. Im endgültigen Objekt ordernewdata Null kommt am zweiten Index in it.ist ein leeres Objekt in das neue Array geschoben wird. Was ist das, was ich bin fehlt?Null kommt im endgültigen Objekt
var ordersData={
"orders":[
{
"order_id": 1,
"user_id": 294,
"amount": 500,
"discount": 100,
"created_at": "2016-11-07T07:36:46.000Z",
"item_name": "Veg Manchurian Dry",
"item_id": 1
},
{
"order_id": 1,
"user_id": 294,
"amount": 500,
"discount": 100,
"created_at": "2016-11-07T07:36:46.000Z",
"item_name": "Veg Chopsuey",
"item_id": 2
},
{
"order_id": 2,
"user_id": 294,
"amount": 500,
"discount": 100,
"created_at": "2016-11-07T07:38:42.000Z",
"item_name": "Veg Chopsuey",
"item_id": 2
},
]
}
var ordersnewdata ={
"orders":[
{
"order_id": 1,
"user_id": 1,
"amount": 1,
"discount": 1,
"created_at": "",
"items":[]
}
]
};
var i=0;
for(k=i+1;k<ordersData.orders.length;k++){
if(ordersData.orders[i].order_id==ordersData.orders[k].order_id){
var item_name = ordersData.orders[k].item_name;
var item_id = ordersData.orders[k].item_id;
var obj = {item_name:item_name,item_id:item_id};
ordersnewdata.orders[i].items.push(obj);
}
else{
var orders={
order_id : ordersData.orders[k].order_id,
user_id : ordersData.orders[k].user_id,
amount : ordersData.orders[k].amount_id,
discount : ordersData.orders[k].discount_id,
created_at : ordersData.orders[k].created_at,
items : {item_name:ordersData.orders[k].item_name,item_id:ordersData.orders[k].item_id},
};
ordersnewdata.orders[k]=orders;
}
}
console.log(JSON.stringify(ordersnewdata));
Hoffen, das hilft https://jsfiddle.net/b7t3r4ae/ –