簡體   English   中英

根據數組條件過濾

[英]Filter against an array condition

假設我有一個userIds數組

const userIds = ['1234', '3212', '1122']

然后我有一個對象數組

const arrayOfObjects = [
  {
    _source: {itemId: ['1234'] }
  },
  {
    _source: {itemId: ['3212'] }
  },
  {
    _source: {itemId: ['1111'] }
  }
]

我想通過將id與userIds數組匹配來過濾對象數組

arrayOfObjects.filter(item => item._source.itemId === "what goes here?")

嘗試這個

arrayOfObjects.filter(item => userIds.includes(item._source.itemId[0]))

Internet Explorer不支持Array.prototype.includes 如果需要跨瀏覽器解決方案,則可以使用Array.prototype.filterArray.prototype.indexOf方法:

 const userIds = ['1234', '3212', '1122']; const arrayOfObjects = [{ _source: { itemId: ['1234'] } }, { _source: { itemId: ['3212'] } }, { _source: { itemId: ['1111'] } } ]; const filtered = arrayOfObjects.filter(o => userIds.indexOf(o['_source'].itemId[0]) > -1); console.log(filtered) 

暫無
暫無

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

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