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

75
Views
incrementar un objeto en un ciclo while

entrada: ["doc", "doc", "image", "doc(1)", "doc"]

salida: ["doc", "doc(1)", "image", "doc(1)(1)", "doc(2)"]

La cuestión:

{used[name]++} esta parte del código me está engañando.

no entiendo linea y como no le estoy asignando 1 a lo primero

el código está funcionando como debería a partir de prueba y error; pero estoy teniendo dificultades para envolver mi cerebro alrededor de este bucle.

mi entendimiento:

recorremos los nombres, luego cada nombre que comienza con docs; asignamos newName a doc1

Lo que probé:

used[newName] = 6;

resultados: [doc, doc(6), imagen, doc(1), doc(7)]

esto terminó por confundirme más. es tarde y puede que necesite dormir un poco.


 const solution = names => { const used = {}; return names.map(name => { let newName = name; while (used[newName]) { newName = `${name}(${used[name]++})`; } used[newName] = 1; return newName; }); };
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La primera vez que se encuentra un nombre used[newName] no está undefined , por lo que el bucle while ni siquiera se inicia y se devuelve newName . La próxima vez que se encuentre, ya tiene user[newName]=1 , por lo que (1) se agrega al nombre, y así sucesivamente.

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!