Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

139
Visualizações
¿Por qué Array.map devuelve resultados diferentes?

De acuerdo con mi comprensión actual de JS, las 3 líneas a continuación deberían devolver el mismo resultado, ¿alguien puede explicarme lo que me estoy perdiendo?

1- Inesperado

 [...Array(6).map((x) => 1)] (6) [undefined, undefined, undefined, undefined, undefined, undefined]

2- esperado

 [...Array(6)].map((x) => 1) (6) [1, 1, 1, 1, 1, 1]

3- inesperado

 Array(6).map((x) => 1) (6) [empty × 6]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Array(n) crea una matriz de longitud n , pero la matriz no tiene valores, por lo que no hay nada que mapear.

Básicamente, esto:

 const a = Array(n);

es lo mismo que:

 const a = []; a.length = n;

Esta es la razón por la que la matriz creada no tiene elementos. Intentar mapearlo no hará nada ya que no hay valores para mapear.

Sin embargo, puede convertir esa matriz vacía en una matriz de valores undefined . Esto se puede hacer de dos formas:

Uno está usando el operador de propagación como lo ha hecho:

 [...Array(n)] // creates new array [undefined, undefined, undefined ...] n times

El otro, más comúnmente utilizado, es .fill() , que establece su parámetro como el valor de todos los índices de la matriz. Para llenar con undefined , haz lo siguiente:

 Array(n).fill() // fills array with [undefined, undefined, undefined ...] n times

Una matriz de undefined , a diferencia de una matriz vacía, tiene elementos y, por lo tanto, se puede mapear:

 [undefined, undefined, undefined].map(x => 1) // [1, 1, 1]

Entonces, primero puede convertir su matriz vacía en una matriz de undefined y luego mapearla así:

 Array(n).fill().map(x => 1)

Si desea llenar la matriz con el mismo elemento en cada posición como en este ejemplo, simplemente puede pasarlo para completar sin necesidad de mapear la matriz:

 Array(n).fill(1)
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda