Javascript Null进入最终对象
如果json对象orderData具有相同的order_id,我将聚合它们。在最终的对象ordernewdata中,null出现在其中的第二个索引中。是否在新数组中推送一个空对象。我缺少什么Javascript Null进入最终对象,javascript,json,Javascript,Json,如果json对象orderData具有相同的order_id,我将聚合它们。在最终的对象ordernewdata中,null出现在其中的第二个索引中。是否在新数组中推送一个空对象。我缺少什么 var ordersData={ "orders":[ { "order_id": 1, "user_id": 294, "amount": 500, "discount": 100, "created_at": "2016-11-07
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));
var ordersData={
“命令”:[
{
“订单id”:1,
“用户id”:294,
“金额”:500,
“折扣”:100,
“创建时间”:“2016-11-07T07:36:46.000Z”,
“项目名称”:“蔬菜满洲里干”,
“项目id”:1
},
{
“订单id”:1,
“用户id”:294,
“金额”:500,
“折扣”:100,
“创建时间”:“2016-11-07T07:36:46.000Z”,
“项目名称”:“蔬菜排骨”,
“项目id”:2
},
{
“订单id”:2,
“用户id”:294,
“金额”:500,
“折扣”:100,
“创建时间”:“2016-11-07T07:38:42.000Z”,
“项目名称”:“蔬菜排骨”,
“项目id”:2
},
]
}
var ordersnewdata={
“命令”:[
{
“订单id”:1,
“用户id”:1,
“金额”:1,
“折扣”:1,
“在以下位置创建”:”,
“项目”:[]
}
]
};
var i=0;
for(k=i+1;k在for循环中
当k=1时,它进入if语句。当k=2时,它进入else分支,换句话说,ordersnewdata.orders[2]=orders
以适应您的情况。所以我们只是忘了计算ordersnewdata.orders[1]
。这就是为什么在ordernewdata.orders
中会出现null
为了防止添加null
,您可以使用ordersnewdata.orders.push(orders)
插入新订单。希望这有帮助