Tengo una serie de objetos como a continuación:
0: {Id: 1, name: 'xyz', pqID: 10, pqType: null} 1: {Id: 2, name: 'abc', pqID: 15, pqType: null} 2: {Id: 3, name: 'wer', pqID: 16, pqType: null} 3: {Id: 4, name: 'uyt', pqID: 18, pqType: null} 4: {Id: 5, name: 'qwe', pqID: 22, pqType: null} 5: {Id: 6, name: 'ert', pqID: 25, pqType: null}
Quiero objetos de pqID
y 10 y 15. A continuación se muestra lo que estoy intentando, que está dando una matriz vacía:
const newUsers = arr.filter( (user) => user.pqID == 10 && user.pqID == 15 ); console.log(newUsers);
Tenga en cuenta el ||
operador
var arr = [{Id: 1, name: 'xyz', pqID: 10, pqType: null}, {Id: 2, name: 'abc', pqID: 15, pqType: null}, {Id: 3, name: 'wer', pqID: 16, pqType: null}, {Id: 4, name: 'uyt', pqID: 18, pqType: null}, {Id: 5, name: 'qwe', pqID: 22, pqType: null}, {Id: 6, name: 'ert', pqID: 25, pqType: null}] const newUsers = arr.filter( (user) => user.pqID == 10 || user.pqID == 15 // note || ); console.log(newUsers)
Podría intentar eso, con la sintaxis de función de matriz completa:
const newUsers = arr.filter( (user) => {return [10, 15].includes(user.pqID)} );
O la versión reducida, sin paréntesis ni corchetes:
const newUsers = arr.filter(user => [10, 15].includes(user.pqID));