javascript - 在javascript中对两个对象数组进行计算

标签 javascript typescript

我在对两个对象数组中的两个值进行一些计算并获取结果的一个数组时遇到问题,

如果在订单中找到 _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/

相关文章:

generics - TypeScript:继承类中静态方法的自引用返回类型

javascript - 如何将对象属性设置在不同的地方?

javascript - 获取对象名称

javascript - 是否可以引用 JS 数组/对象中的另一个元素

javascript - 使用 JavaScript 数组

javascript - 如何从模态中调用回调函数

c# - 通过 javascript 在 C# 中停止事件

javascript - Thymeleaf javascript 根据表格中的文本替换图像源

javascript - typescript :未定义的静态变量问题

reactjs - 类型 '{ children: Element; }' 不可分配给类型 'IntrinsicAttributes & ReactNode'