我有一個由jQuery獲取的php json_encode對象。我想要做的是總結這個數組。這是我到目前爲止所做的:一個JavaScript數組的總和返回所有數字的字符串連接
var json = $.parseJSON(data);
var tot = new Array();
for (var i = 0; i < json.length; ++i) {
tot.push(json[i].final_total);
$('table tbody').append("<tr><td>" + json[i].order_id + "</td><td>" + json[i].final_total + "</td></tr>");
}
現在我想總結這個數組。我嘗試這樣做:
var sum = tot.reduce(function(pv, cv) { return pv + cv; }, 0);
$("#total").html(sum);
但結果是:
09.748.529.129.129.119.59.79.89.79.89.79.79.79.79.79.79719.248.59.79 ......
我也試過:
myFunction(tot);
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("total").innerHTML = item.reduce(getSum);
}
但我得到上述(旁邊寫着對方號碼)相同的結果。
我也試過這樣:
var tot = 0;
for (var i = 0; i < json.length; ++i) {
tot += json[i].final_total);
$('table tbody').append("<tr><td>" + json[i].order_id + "</td><td>" + json[i].final_total + "</td></tr>");
}
$("#total").html(tot);
但我得到上述(旁邊寫着對方號碼)相同的結果。
那麼在javascript中求和數組的正確方法是什麼?
使用['parseInt函數()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt) – happymacarts
好像'JSON [我] .final_total'是字符串,所以你的減少只是連接它們。你可以例如'tot.push(+ json [i] .final_total);'。一元'+'會將該值作爲數字進行投射。 –
[JavaScript字符串和數字轉換](http:// stackoverflow。com/questions/971039/javascript-string-and-number-conversion) – Makyen