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

127
Views
Forma correcta de crear una matriz o insertarla si ya existe

En mi código, tengo un elemento y quiero tenerlo en una matriz: o la matriz ya existe y luego presiono mi elemento, o no existe y, en ese caso, creo la matriz con este único elemento:

 if (arr) { arr.push(elt); } else { arr = [elt]; }

Estoy seguro de que hay una mejor manera de hacer esto. nullish coalescing operator de spreading y fusión nula, pero no encontré ninguna sintaxis correcta. ¿Alguien tiene una idea de cómo podría escribir mis líneas con una sintaxis más agradable? Gracias por adelantado.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Puedes usar la expresión arr || [] para devolver una matriz que es arr si arr ya está definido o [] de lo contrario. Luego, simplemente puede concat el nuevo valor:

 arr = (arr || []).concat([elt])

Tenga en cuenta que el nuevo valor debe encerrarse entre [] para evitar que los valores de elt que son matrices se aplanen.

about 4 years ago · Juan Pablo Isaza Report

0

Puede verificar si existe una matriz probando si es falsa-y. Por lo tanto, puede crear una matriz si aún no existe con

 arr = (arr || []);

A partir de ahí, puede simplemente empujar su nuevo elemento:

 arr = (arr || []); arr.push(elt);
about 4 years ago · Juan Pablo Isaza Report

0

Vea el siguiente código:

 if (arr && arr.length > 0) { arr.push(elt); //or can use spread operator arr = [...arr, elt];//this should work if I am not wrong } else { arr = [elt]; }

Es algo similar, pero supongo que debería funcionar bien y es un patrón general.

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!