Estoy filtrando datos de 2 objetos que recibo de una API. Necesito tener un ['data', 'data2', 'dat2'], pero cuando obtengo los datos, recibo algo así:
[ ['data'], ['data2', 'dat3'] ]Necesito transformar eso en:
['data', 'data2', 'dat2']Así es como estoy filtrando los datos:
const filteredData = response.data.map((value) => { const data = value.students.map((value) => { return value.studentId; }); return filteredData; }); Si se pregunta cómo es el conjunto de datos:
Datos:
[ { id: 1, students: [ {id: 1, studentId: 1829}, {id: 2, studentId: 4329} ] }, { id: 2, students: [ {id: 3, studentId: 1429}, {id: 6, studentId: 329} ] } ]Use flat para aplanar matrices anidadas
[ ['data'], ['data2', 'dat3'] ].flat() Y flatMap(x => x.students) para aplanar matrices dentro de estructuras de objetos más complejas
const data = [ { id: 1, students: [ {id: 1, studentId: 1829}, {id: 2, studentId: 4329} ] }, { id: 2, students: [ {id: 3, studentId: 1429}, {id: 6, studentId: 329} ] } ] const flattened = data.flatMap(x => x.students) // Output: [ { "id": 1, "studentId": 1829 }, { "id": 2, "studentId": 4329 }, { "id": 3, "studentId": 1429 }, { "id": 6, "studentId": 329 } ]