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

185
Views
No puedo modificar una propiedad de un objeto usando un método creado dentro del mismo objeto. Estoy tratando de usar foreach, luego console.log no está definido

CÓDIGO:

 let references = [ { nombre: 'productA', priceUsd: 2200, qty: 15 }, { nombre: "productB", priceUsd: 1500, qty: 20 }, { nombre: "productC", priceUsd: 3000, qty: 7 } ]; const store = { products: references, increasePrice: function(percToAdd) { return this.products.forEach(item =>item['priceUsd']=item.priceUsd*(1+percToAdd/100));} } const increased = store.increasePrice(30); console.log(increased)

PRODUCCIÓN:

 undefined

Pero estoy buscando algo como esto:

 [ { nombre: 'productA', priceUsd: 2860, qty: 15 }, { nombre: "productB", priceUsd: 1950, qty: 20 }, { nombre: "productC", pricesUsd: 3900, qty: 7 } ]

Probé el código fuera del método y funciona pero cuando lo pongo dentro de una función ya no funciona.

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

0

Esto se debe a que forEach devuelve valor (modifica la matriz), sino que realiza ciertas operaciones en cada elemento de la matriz.

Puede utilizar el map para este caso.

 let references = [ { nombre: 'productA', priceUsd: 2200, qty: 15 }, { nombre: "productB", priceUsd: 1500, qty: 20 }, { nombre: "productC", priceUsd: 3000, qty: 7 } ]; const store = { products: references, increasePrice: function (percToAdd) { return this.products.map(item => ({ ...item, ["priceUsd"]: item.priceUsd * (1 + percToAdd / 100) })); } } const increased = store.increasePrice(30); console.log(increased)

También ha escrito incorrectamente priceUsd en el último elemento de references .

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!