[英]Filter deep nested array
我在過濾 2 arrays 個對象時遇到了一些問題。 我的目標是用另一個數組過濾主數組,這兩個數組都是 arrays 的數字。
演示代碼如下
partners?.map((e) => {
let products = e.products.map(a => a.externalProductId)
let porArr: number[] = active.map((a) => a.externalProductId);
if (products.filter(item => porArr.includes(item))) {
return console.log(e)
} else {
return console.log('bad')
}
})
products
預覽
[
6268,
6267,
9745,
9746
]
porArr
預覽
[
6267,
6270,
6269,
6641,
9559,
9560,
9660,
9663,
9665
]
由於某種原因,func 在 if 規則中仍然總是返回 true。
非常歡迎任何幫助!
由於您沒有在任何地方分配過濾后的數組,因此您不需要使用.filter()
。 使用.some()
測試是否有任何數組元素滿足條件。
if (products.any(product => porArr.includes(product)) {
// do something
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.