quiero filtrar una matriz por algunos nombres específicos
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'}, ]Pero quiero tener acción y comedia como esta:
[ {id: 1, name: 'Action'}, {id: 4, name: 'Action'}, {id: 2, name: 'Comedy'}, {id: 5, name: 'Comedy'}, ]¿Cómo puedo hacerlo?
genres.filter(i => i.name.includes("Action") | i.name.includes("Comedy"))
o
genres.filter(i => ["Action","Comedy"].includes(i.name))
Use un operador OR para verificar ambas condiciones
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)Tu puedes hacer:
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)