我想用一些特定的名字過濾一個陣列
genres = [
{id: 1, name: 'Action'},
{id: 2, name: 'Comedy'},
{id: 3, name: 'Documentary'},
{id: 4, name: 'Action'},
{id: 5, name: 'Comedy'},
]
// in here i get only Action
genres.filter(i => i.name.includes("Action"))
output = [
{id: 1, name: 'Action'},
{id: 4, name: 'Action'},
]
// in here i get only Comedy
genres.filter(i => i.name.includes("Comedy"))
output = [
{id: 2, name: 'Comedy'},
{id: 5, name: 'Comedy'},
]
但我想像這樣同時獲得動作和喜劇:
[
{id: 1, name: 'Action'},
{id: 4, name: 'Action'},
{id: 2, name: 'Comedy'},
{id: 5, name: 'Comedy'},
]
我該怎么做?
uj5u.com熱心網友回復:
genres.filter(i => i.name.includes("Action") | i.name.includes("Comedy"))
或者
genres.filter(i => ["Action","Comedy"].includes(i.name))
uj5u.com熱心網友回復:
使用 OR 運算子檢查這兩個條件
genres = [
{id: 1, name: 'Action'},
{id: 2, name: 'Comedy'},
{id: 3, name: 'Documentary'},
{id: 4, name: 'Action'},
{id: 5, name: 'Comedy'},
]
// Use a OR operator to check both conditions
result = genres.filter(i => i.name.includes("Action") || i.name.includes("Comedy"))
console.log(result)
uj5u.com熱心網友回復:
你可以做:
const genres = [{id: 1, name: 'Action'},{id: 2, name: 'Comedy'},{id: 3, name: 'Documentary'},{id: 4, name: 'Action'},{id: 5, name: 'Comedy'},]
const result = genres.filter(({ name }) => ['Action', 'Comedy'].includes(name))
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/477628.html
標籤:javascript 数组 筛选 包括
