簡體   English   中英

我可以使用 .includes() 來確定數組是否包含基於字符串數組而不是單個字符串的某個元素?

[英]Can I use .includes() to determines whether an array includes a certain element based on an array of strings instead of a single string?

現在,如果我使用這段代碼,我會得到所有區域屬性為“德瑪西亞”的元素

let filtered = this.cards.filter((card) => {
    return card.region.includes("Demacia");
})

現在我希望能夠獲取屬性區域為“Noxus”或“Demacia”的所有元素,但是,這似乎不起作用,因為它返回一個空數組

let regions = ["Demacia", "Noxus"];

let filtered = this.cards.filter((card) => {
    return card.region.includes(regions);
})

我什至可以這樣做還是需要查看其他數組函數?

不要嘗試將多個選項傳遞給includes ,而是查看regions內部以查看它是否包含當前卡片的區域

let regions = ["Demacia", "Noxus"];

let filtered = this.cards.filter((card) => {
    return regions.includes(card.region);
})

只是添加我的答案,因為Array.prototype.includes()在 IE 中不受支持,所以如果你想支持舊瀏覽器,你可以這樣做

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes#Browser_compatibility

 let regions = ["Demacia", "Noxus"]; let filtered = this.cards.filter((card) => { return regions.indexOf(card.region) > -1; })

暫無
暫無

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

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