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

168
Views
for loop da solo el último valor en javascript

He creado una variable externa para obtener valores desde adentro, pero solo obtengo el último valor en ambas variables.

 var categoryProductid; var PPProducttitle; for (var key in UpdatedCategory) { const actual = UpdatedCategory[key] var categoryProductid = actual.id; var PPProducttitle = actual.title; console.log(PPProducttitle) console.log(categoryProductid) } console.log(PPProducttitle) console.log(categoryProductid)

cuando hago console.logs() desde dentro y fuera del bucle for obtengo dos valores diferentes.

Cualquier ayuda será apreciada gracias!!!!!

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

0

Voy a suponer que UpdatedCategory es un objeto (si es una matriz, vea mi respuesta aquí para saber qué usar en lugar de for-in para recorrerlo).

El problema básico con ese código es que estás asignando la misma variable una y otra vez. La razón por la que es la misma variable es que var no tiene alcance de bloque, por lo que la parte var de var categoryProductid = actual.id; se ignora por completo (y similar para var PPProducttitle = actual.title; ). En su lugar, está reutilizando las variables que declaró antes del ciclo for .

Una variable solo puede contener un valor, por lo que cuando le asigna un nuevo valor, ya no tiene el valor anterior.

Si desea contener varios valores con una variable, puede asignarle un contenedor que pueda contener varios valores, como una matriz, un objeto, un Map o un Set .

No ha dicho qué resultado final desea, pero aquí hay un ejemplo que crea dos matrices y las llena con la id y el title de los productos de UpdatedCategory :

 // Again, I'm assuming `UpdatedCategory` is an object: const UpdatedCategory = { a: { id: 1, title: "a", }, b: { id: 2, title: "b", }, c: { id: 3, title: "c", }, }; // `[]` creates a new empty array. // We can use `const` to declare these because we never change their // value (they only ever refer to a single array), but you could use // `let` if you preferred. Don't use `var` in new code, it's deprecated. // Note: I've renamed these slightly to: // 1. Stick to standard naming conventions // * Initial capitals are used primarily for constructor functions // * Variables referring to arrays are generally plurals // 2. Be consistent in capitalization const categoryProductIds = []; const ppProductTitles = []; for (var key in UpdatedCategory) { // Get this property value const actual = UpdatedCategory[key]; // Push the `id` and `title` into the relevant arrays categoryProductIds.push(actual.id); ppProductTitles.push(actual.title); } // Show the contents of the arrays console.log(ppProductTitles); console.log(categoryProductIds);

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!