Tengo la siguiente matriz de objetos:
const input = [ { key1: 1, key2: 1, key3: 5 }, { key1: 2, key2: 5, key3: 6 }, { key1: 4, key2: 6, key3: 7 }, { key1: 7, key2: 8, key3: 9 }, ];Solo quiero recorrer una matriz de objetos y recopilar todos los valores en una matriz unidimensional como esta:
const output = [1, 1, 5, 2, 5, 6, 4, 6, 7, 7, 8, 9];¿Alguien puede ayudar a resolver este problema?
Si las claves siempre están en ese orden, puede usar Object.values como una devolución de llamada a flatMap
const output = input.flatMap(Object.values) const input = [ { key1: 1, key2: 1, key3: 5 }, { key1: 2, key2: 5, key3: 6 }, { key1: 4, key2: 6, key3: 7 }, { key1: 7, key2: 8, key3: 9 }, ]; const output = input.flatMap(Object.values) console.log(output)Confiar en el orden de las claves en un objeto generalmente NO es una buena idea. Puede destruir todas las propiedades que necesita y aplanarlas en ese orden:
input.flatMap(({ key1, key2, key3 }) => [key1, key2, key3])o
Cree una matriz de claves para hacerlo un poco más dinámico:
const keys = ["key1", "key2", "key3"] const output = input.flatMap(o => keys.map(k => o[k]))