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

156
Visualizações
¿Cuál es la mejor manera de usar una lista como clave en JavaScript?

Digamos que tenemos un mapa en JS como se muestra a continuación.

 const someMap = new Map(); someMap.set(["Jack", "Mathematics"], "Fee=₹120000"); someMap.set(["Alyne", "Science"], "Fee=₹90000"); // Going to be undefined because the lists are compared by === console.log(someMap.get(["Jack", "Mathematics"]));

Esto nos impide buscar claves en un mapa dinámicamente debido a la comparación === . Una forma que se me ocurre es convertirlo en una cadena como "Jack, Mathematics" y luego usarlo como clave. Pero esto no se ve perfecto.

¿Cuál es la mejor manera de representar claves que son listas? Por mejor manera, me refiero a una forma en la que conservamos la estructura de lista de la clave. Digamos que estamos convirtiendo la lista ["adog", "isananimal"] en una cadena "adog,isananimal" y hay otra lista ["adog,isananimal"] que se convierte en la misma cadena "adog,isananimal" que crearía una confusión al recuperar los valores.

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

0

La encadenación sigue siendo el enfoque más sencillo. Si no le gustan las implicaciones de eso, puede ocultar los detalles de implementación en una clase personalizada que extienda Map :

 class ArrayKeyedMap extends Map { get(array) { return super.get(this.#toKey(array)); } set(array, value) { return super.set(this.#toKey(array), value); } has(array) { return super.has(this.#toKey(array)); } delete(array) { return super.delete(this.#toKey(array)); } #toKey(array) { return JSON.stringify(array); } } const someMap = new ArrayKeyedMap(); someMap.set(["Jack", "Mathematics"], "Fee=₹120000"); someMap.set(["Alyne", "Science"], "Fee=₹90000"); console.log(someMap.get(["Jack", "Mathematics"]));

Si lo desea, puede ir más allá y anular otras funciones de Map como keys() y entries() también usando una función #fromKey() personalizada para mapear las cadenas de nuevo a las matrices.

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