var cartTotal = [];
var priceValue = x;
var priceID = y;
上記の空の配列を定義した後、次を含むループがあります。
cartObj = {};
cartObj.priceID = priceValue;
cartTotal.push(cartObj);
total(priceID);
上記のコードを数回ループした後、結果の cartTotal 配列は次のようになります。
cartTotal = [{priceID:priceValue},{priceID:priceValue}] ?
私が尋ねる理由は、すべての priceValue 数値を合計するために、以下の合計関数にpriceIDを渡そうとしているためです。total 関数でa.priceが定義されていないのはなぜですか? cartTotal.length アラートは、多数の値を持つ配列があることを示しているため、配列は関数内で認識されます。
function total(price){
alert(cartTotal.length);
totalPrice = 0;
for(var i=0;i<cartTotal.length; i++){
a = cartTotal[i];
itemPrice = parseInt(a.price);
totalPrice += itemPrice;
}
}