我試圖循環訪問數組中的對象,並使用鍵「價格」添加所有值。循環遍歷數組中的對象,總共取整數值
var basket = [
{
price: "25.00",
id: "Hat"
}, {
price: "50.00",
id: "Jacket"
}
]
/*objects within array. purpose = able to use a for loop using .length as follows*/
function test() {
for(var i = 0; i < basket.length; i++){
totalPrice = 0;
alert(itemPrice);
itemNum = basket[i];
itemPrice = parseFloat(itemNum.price);
totalPrice += itemPrice;
}
alert(totalPrice);
}
我itemPrice
警報顯示,遍歷兩個對象中運行,閃爍25然後50.爲什麼我的totalPrice
變量只能存儲第二價格,50?運營商+=
應與totalPrice = totalPrice + itemPrice
相同?任何解釋以及修復將非常感謝,試圖獲得一個良好的理解!
因爲你在迴路設置totalPrice爲0。你應該在循環之前做。 –
或者你可以使用['Array.reduce()'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce):'var totalPrice = basket.reduce (function(pr,cur){return pr + parseFloat(cur.price);},0);'(demo:http://jsfiddle.net/XqU5P/) – NullUserException