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

186
Visualizações
inicializando un diccionario javascript con matrices vacías

Quiero inicializar un diccionario con k matrices vacías (las claves son números enteros de 0 a k-1), algo similar a la lista de comprensión de Python:

 data = {k: [] for k in range(2)}

¿Es algo posible en javascript? si no, ¿cuál sería la mejor manera de hacerlo?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Sí, es posible hacerlo en una sola línea en JS.

 let data = { ...Array.from({ length: 2 }, () => []) }; console.log(data);

También puedes experimentarlo,aquí


Haz de ello una función.

Será más fácil y reutilizable si lo convierte en una función. Aquí el ejemplo:

 // traditional function function generateData(howMany) { return { ...Array.from({ length: howMany }, () => []) }; } // ES 6 function const generateDataES6 = (howMany) => ({ ...Array.from({ length: howMany }, () => []) }); console.log("traditionnal:", generateData(4)); console.log("ES6:", generateDataES6(3));

Resultados:

ingrese la descripción de la imagen aquí


Referencias:

  1. Operador de propagación: MDN - Sintaxis de propagación
  2. Array.from() : MDN - Array.from() y W3-School - JS Array.from()
about 4 years ago · Juan Pablo Isaza Relatório

0

en pitón

 >>> {k: [] for k in range(2)} {0: [], 1: []}

En javascript, debe hacer lo siguiente:

 const data = {}; for (let k = 0; k < 2; ++k) data[k] = []; console.log(data)

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que su declaración de phyton generará el siguiente resultado

 datos = {k: [] para k en el rango (2)}

imprimir (datos)
// {0: [], 1: []}

En javascript, puede utilizar .reduce() para lograr el mismo resultado.

 data = [...Array(2).keys()].reduce((obj, d) => { obj[d] = []; return obj; }, {}) console.log(data) // {0: [], 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