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

163
Views
¿Cómo puedo hacer que mis funciones Javascript .map sean más eficientes?

Actualmente estoy devolviendo un gran conjunto de datos de AWS OpenSearch a una matriz llamada eventList . Cada evento dentro de la matriz tiene la siguiente estructura:

 { _source: { "key": value "key": value "key": value } }

Por lo tanto, quiero desestructurar esto para que _source se convierta en los datos del evento y luego mapear sobre eventList. Actualmente, tengo dos instancias de .map y sé que esto no es tan eficiente, así que me gustaría saber cómo combinarlas.

 let eventList = [ { _source: { tags: "xxx,yyy,zzz" ... } } ]; eventList = eventList.map((event) => event._source); eventList = eventList.map((event) => { const { tags } = event; return { ...event, tags: tags?.split(",") ?? [], }; });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Como dice en la pregunta, puede combinar esas dos llamadas de map :

 eventList = eventList.map(({_source}) => ( ..._source, tags: _source.tags?.split(",") ?? [], ));

He usado la desestructuración en la lista de parámetros, pero no tienes que hacerlo si no quieres:

 eventList = eventList.map((event) => ( ...event._source, tags: event._source.tags?.split(",") ?? [], ));

Hay cientos de formas diferentes de escribir eso, pero entiendes la idea.

En realidad, podríamos llevar la desestructuración más allá:

 eventList = eventList.map(({_source: {tags, ...rest}}) => ( ...rest, tags: tags?.split(",") ?? [], ));

Pero todas estas variaciones deberían ser aproximadamente iguales en términos de rendimiento; la gran victoria es tener un solo map .

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!