簡體   English   中英

過濾深層嵌套數組

[英]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.

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