Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!