簡體   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