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

242
Visualizações
¿Qué hace este código Object.assign({}, ...array.map(/*...*/)) aquí?

He clonado este repositorio de github y no puedo entender lo que sucede en el código.

words en el código es una matriz de palabras.

 const wordDictionary = Object.assign({}, ...words.map((x) => ({ [x]: x })));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Toma una matriz (de cadenas, ya que dijiste que es una matriz de palabras, pero también funcionaría con números o símbolos) y la convierte en un objeto donde los nombres y valores de las propiedades son los mismos. Entonces, por ejemplo, ["an", "example"] se convierte en {an: "an", example: "example"} :

 const words = ["an", "example"]; const wordDictionary = Object.assign({}, ...words.map((x) => ({ [x]: x }))); console.log(wordDictionary);

Lo hace asignando cada elemento de la matriz a un objeto con una propiedad (nombrada por el elemento de la matriz, con el valor del elemento de la matriz) y luego asignando todos esos objetos a un solo objeto de destino.

Por ejemplo, con mi matriz ["an", "example"] , los pasos son:

  1. Haz el mapeo, girando:
     ["an", "example"]
    dentro
     [{an: "an"}, {example: "example"}]
  2. Distribuya esa matriz en argumentos discretos para Object.assign con un objeto de destino en blanco. Asi que
     Object.assign({}, ...[{an: "an"}, {example: "example"}])
    se convierte
     Object.assign({}, {an: "an"}, {example: "example"})
  3. Use Object.assign para asignar las propiedades de esos objetos al primero (el objeto {} en blanco).

Vale la pena señalar que el código es demasiado complicado. Sería mucho más simple simplemente usar un bucle:

 const wordDictionary = {}; for (const word of words) { wordDictionary[word] = word; }

Por separado, los diccionarios como este se manejan mejor con las instancias de Map :

 const wordDictionary = new Map(); for (const word of words) { wordDictionary.set(word, word); }

o en este caso específico (dado que la clave y el valor son los mismos) un Set :

 const wordDictionary = new Set(words);
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