我在对两个对象数组中的两个值进行一些计算并获取结果的一个数组时遇到问题,
如果在订单中找到 _id 减去库存中相同 _id 的数量,如果保持数量不变..
数组 1 # 订单
[
{
"_id": "5e64cfb59726d72129e78aee",
"qty": 10
},
{
"_id": "5e64d0fe9978d443af7db86c",
"qty": 14
}
]
数组 2 # 股票
{
"_id": "5e64d0fe9978d443af7db86c",
"qty": 600
},
{
"_id": "5e64cfb59726d72129e78aee",
"qty": 60
},
{
"_id": "5e64cfb59726d72129e78ab5",
"qty": 650
}
需要的输出:
{
"_id": "5e64cfb59726d72129e78aee",
"qty": 50
},
{
"_id": "5e64d0fe9978d443af7db86c",
"qty": 586
},
{
"_id": "5e64cfb59726d72129e78ab5",
"qty": 650
}
最佳答案
类似的事情应该做
const stocks = [{
"_id": "5e64d0fe9978d443af7db86c",
"qty": 600
},
{
"_id": "5e64cfb59726d72129e78aee",
"qty": 60
},
{
"_id": "5e64cfb59726d72129e78ab5",
"qty": 650
}
];
const orders = [{
"_id": "5e64cfb59726d72129e78aee",
"qty": 10
},
{
"_id": "5e64d0fe9978d443af7db86c",
"qty": 14
}
];
const result = stocks.map(stock => {
const foundRec = orders.find(order => order._id === stock._id);
if (foundRec) {
return {
"_id": stock._id,
"qty": stock.qty - foundRec.qty
};
}
return stock;
});
console.log(result);
关于javascript - 在javascript中对两个对象数组进行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60598182/