簡體   English   中英

如何檢查兩個數組中的屬性值 object 值 javascript

[英]how to check property value in two array of object values javascript

我有兩個 object 值數組,

a1a2

如果idvaluecidvalue相等, mainidmain為真

然后返回

真的

否則返回

錯誤的

var result = a1.find(e=> a2.find(i=>i.cidvalue===e.idvalue));

var a1=[
  {id:1, idvalue: “teamA“,mainid: true, name: “ben4”}
]

var a2 =[
  {id:2, cidvalue: “teamA”, main: true, name: ”ben3”},
  {id:3, cidvalue: undefined, main: false, name: ”ben2”},
]



預計 Output

true

您的代碼完全按預期工作。

編輯此特定語句的匹配子句:

i => i.cidvalue === e.idvalue && e.mainid === i.main

並使用下面的Array.prototype.every檢查這個工作片段並進行一些調整,以取回 boolean 值,指示是否找到匹配項:

 const a1 = [ { id: 1, idvalue: "teamA", mainid: true, name: "ben4" }, ] const a2 = [ { id: 2, cidvalue: "teamA", main: true, name: "ben3" }, { id: 3, cuid: undefined, main: false, name: "ben2" }, ] const result = a1.every(e => a2.find(i => i.cidvalue === e.idvalue && e.mainid === i.main)); console.log(result)

在這里,我列出了 a2 和 a1,如果數據大於 0,則設置為 true。

 var a1 = [ { id: 1, idvalue: "teamA", mainid: true, name: "ben4" } ] var a2 = [ { id: 2, cidvalue: "teamA", main: true, name: "ben3" }, { id: 3, cuid: undefined, main: false, name: "ben2" }, ] console.log(a2.filter(item => a1.find(itemm => itemm.idvalue === item.cidvalue)).length > 0);

使用Array.every比較數組a1a2中的每個元素

 var a1 = [ { id: 1, idvalue: "teamA", mainid: true, name: "ben4" }, ] var a2 = [ { id: 2, cidvalue: "teamA", main: true, name: "ben3" }, { id: 3, cuid: undefined, main: false, name: "ben2" }, ] var result = a1.every(e => a2.find(i => i.cidvalue === e.idvalue && e.mainid && i.main)); console.log(result);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM