如何验证关联数组中指定订单数据是否存在并统计对应库存数量
实现思路
- 库存统计规则:某个商品实例只要存在关联的已下单数据(即
sellingItem下任意项的orderedItem非空),就判定为已售出,不计入库存;反之计入库存 - 用
filter方法过滤符合库存条件的商品实例,直接取结果数组长度即为库存数量
代码实现
public calculateStockQuantity(itemInstances) { const stockQuantity = itemInstances.filter(instance => { // 校验当前商品实例的所有售卖项都没有关联订单 return instance.sellingItem.every(sellItem => sellItem.orderedItem.length === 0); }).length; return stockQuantity; }
结果验证
你提供的示例数据中,共3个商品实例:
- id为1的实例存在非空
orderedItem,判定为已售出,不计入库存 - 剩余2个实例的
orderedItem均为空,计入库存
最终返回值为2,完全符合预期。
内容的提问来源于stack exchange,提问作者shunsuke.nakamura
相关产品推荐
相关产品推荐

