我有兩個物件值陣列,
a1和a2
如果idvalue和cidvalue相等,
mainid并且main為真
然后回傳
真的
否則回傳
錯誤的
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”},
]
預期產出
true
uj5u.com熱心網友回復:
您的代碼完全按預期作業。
將 match 子句編輯為此特定陳述句:
i => i.cidvalue === e.idvalue && e.mainid === i.main
并使用下面的Array.prototype.every進行一些調整來查看這個作業片段,以獲取一個布林值,指示是否找到匹配項:
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)
uj5u.com熱心網友回復:
在這里,我列出了 a2 和 a1 并設定如果資料大于 0 則為真。
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);
uj5u.com熱心網友回復:
用于Array.every比較陣列a1中的每個元素a2
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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/448356.html
標籤:javascript 数组 循环 目的
