1

Buenas estoy intentando sumar dos variables pero el resultado es NaN parece muy simple pero no encuentro el problema alguien sabe alguna solucion?

let array = localStorage.getItem('cart');
this.products = JSON.parse(array);
var products;
for (let i = 0; i < this.products.length; i++) {
  var perProduct = this.products[i]["costPrice"] * this.products[i]["quantity"] ;
  products = perProduct + products;
}

Ejemplo del JSON:

0:
PLU: ""
buttonText: "baguett artesana"
color: "#BACDE2"
costPrice: 0.7
familyId: 1
id: 1
name: "baguett artesana"
quantity: 3

1 Answers1

1

Tienes lo siguiente:

let array = [0,1,2];
var products; //declarada, pero no inicializada

for (let i = 0; i < array.length;i++) {
  products = products + array[i]; //undefined + n == NaN
}

console.log(products);

Por tanto, lo que necesitas es inicializar esa variable a 0:

let products = 0;

Te aconsejo no usar var, puedes leer sobre el tema en esta otra pregunta/respuesta

Pablo Lozano
  • 45,934
  • 7
  • 48
  • 87