Tengo una matriz que se llena escasamente con objetos. Quiero convertir la matriz en algo que pueda registrar. Desafortunadamente, el map simplemente omite los elementos unificados.
let arr = []; arr[3] = {a: 'w'}; arr[7] = {a: 'g'}; arr[10] = {a: 'h'}; arr[20] = {a: 'q'}; console.log(arr.map(e => e?ea:'-'));La salida es:
[undefined, undefined, undefined, "w", undefined, undefined, undefined, "g", undefined, undefined, "h", undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, "q"]¿Hay alguna manera de aplicar la función a todos los elementos además del obvio bucle hecho a mano?
la salida que quiero obtener es:
["-", "-", "-", "w", "-", "-", "-", "g", "-", "-", "h", "-", "-", "-", "-", "-", "-", "-", "-", "-", "q"](para finalmente unirlo en una cadena)
Editar:
De acuerdo con los comentarios y sugerencias para otras preguntas, se me ocurrió esta solución:
let arr = []; arr[3] = {a: 'w'}; arr[7] = {a: 'g'}; arr[10] = {a: 'h'}; arr[20] = {a: 'q'}; console.log( Array.from(arr, e => e?ea:'-').join('') );