繁体   English   中英

如何根据 javascript 中的条件获取 object 的数组

[英]how to get array of object based on condition in javascript

我有两个数组对象arr1arr2

arr1属性qty应小于相同name的库存 arr1 和数量 arr2 的总和。

如何根据 javascript 中的属性和同名比较返回数组 object

function getArray(arr1,arr2)
{
 return arr1.filter(i=> arr2.map(e=>i. qty < (e.quantity+i.stock)))
}
var arr1=[
  {id:1, name: "sample1", qty:2, stock: 0},
  {id:2, name: "sample2", qty:3, stock: 2},
  {id:3, name: "sample2", qty:4, stock: 1}
]

var arr2=[
  {idx:1, name:"sample1", quantity:1},
  {idx:2, name:"sample2", quantity:2},
  {idx:3, name:"sample3", quantity:1}
]

预计 Output,

[{id:1, name: "sample1", qty:2, stock: 0},
  {id:3, name: "sample2", qty:4, stock: 1}]

尝试这个:

arr1.filter(item1=>item1.stock<(arr2.filter(item2=>item2.name==item1.name))[0].quantity)

只要 array2 具有唯一的名称,它就可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM