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

165
Views
Iterar a través de una matriz de objetos Nodejs

Necesito ayuda con esto, he estado atascado durante horas.

Intentando iterar a través de una matriz de objetos en el nodo para tomar uno de los valores de la clave y realizar una función de expresión regular.

Sigo recibiendo errores de lectura indefinidos, el último es

No se pueden leer las propiedades de undefined (leyendo 'split')

La matriz se crea llamando a toArray() en una función de búsqueda de colección de MongoDB:

 "ups": [ { "_id": "61b5ef3a8bec102408f5289e", "article_code": "4325832", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" }, { "_id": "61b5ef3a8bec102408f528b4", "article_code": "6242665", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" }, { "_id": "61b5ef3a8bec102408f528ef", "article_code": "3610890", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" } ]

Aquí está mi intento de código:

 for(let i = 0; i < ups.length; i++) { var ups_tt = i['tt_url']; var unique_id = i['unique_id']; var spl = ups_tt.split(/tracknum=(.*)/)[1]; ups_tt = spl.split("&")[0]; }

Cualquier ayuda sería apreciada.

about 4 years ago · Santiago Gelvez
3 answers
Answer question

0

entonces, en su ejemplo, i es solo un número, por lo que si intenta obtener una clave de un número, obtendrá undefined

 > let i = 1; undefined > i["test"] undefined

lo que debe hacer es hacer referencia a la matriz ups con el índice:

 for(let i = 0; i < ups.length; i++){ var ups_tt = ups[i].tt_url; var unique_id = ups[i].unique_id; var spl = ups_tt.split(/tracknum=(.*)/)[1]; ups_tt = spl.split("&")[0];
about 4 years ago · Santiago Gelvez Report

0

Prueba de esta manera:

 let y = { "ups": [ { "_id": "61b5ef3a8bec102408f5289e", "article_code": "4325832", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" }, { "_id": "61b5ef3a8bec102408f528b4", "article_code": "6242665", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" }, { "_id": "61b5ef3a8bec102408f528ef", "article_code": "3610890", "order_number": "", "status": "shipped", "tt_url": "https://www.ups.com/track?loc=en_US&tracknum=999&requester=ST/trackdetails", "unique_id": "" } ] } y.ups.forEach(element => { console.log(element) });
about 4 years ago · Santiago Gelvez Report

0

dado que la URL es lo suficientemente simple, puede dividirla directamente por "&", sin necesidad de usar expresiones regulares

asi que:

 ups_tt = ups_tt.split('&')[2]; var spl = "&" + ups_tt;
about 4 years ago · Santiago Gelvez 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!