Tengo este objeto que necesito filtrar.
let data = JSON.parse(this.getDataFromArray).map((x: any) => x.isEnabled === true);Necesito ingresar en "datos" solo ID de valores que "isEnabled" es verdadero.
Utilice Array.prototype.flatMap para lograr el resultado.
const dataArray = [ { id: 1, name: "Alice", isEnabled: false }, { id: 2, name: "Bob", isEnabled: true }, { id: 3, name: "Charlie", isEnabled: true }, { id: 4, name: "Dave", isEnabled: true }, { id: 5, name: "Eve", isEnabled: false }, { id: 6, name: "Frank", isEnabled: false }, ]; let data = dataArray.flatMap(elm => elm.isEnabled ? [elm.id]: []); console.log(data); Tenga en cuenta que flatMap no se puede usar en IE sin un polyfill.
Si necesita soporte para IE, use Array.prototype.forEach
const dataArray = [ { id: 1, name: "Alice", isEnabled: false }, { id: 2, name: "Bob", isEnabled: true }, { id: 3, name: "Charlie", isEnabled: true }, { id: 4, name: "Dave", isEnabled: true }, { id: 5, name: "Eve", isEnabled: false }, { id: 6, name: "Frank", isEnabled: false }, ]; let data = []; dataArray.forEach((elm) => { if (elm.isEnabled) { data.push(elm.id); } }); console.log(data);