我需要在數組中總結一些對象值。有的可以int
,而有的可能string
即:數組對象上的字符串值的總和
的JavaScript:
let array = [
{quantity: 1, amount: "24.99"}
{quantity: 5, amount: "4.99"},
]
四處堆棧溢出我發現this method(IM使用反應):
Array.prototype.sum = function (prop) {
var total = 0
for (var i = 0, _len = this.length; i < _len; i++) {
total += this[i][prop]
}
return total
};
let totalQuantity = array.sum("quantity");
console.log(totalQuantity);
雖然該作品很好,我需要爲字符串amount
做同樣的事情。由於我需要將amount
轉換爲浮點數,因此上述操作無效。反應過來抱怨Component's children should not be mutated.
不被JS忍者,我認爲這會做一些法寶:
Array.prototype.sum = function (prop) {
var newProp = parseFloat(prop);
var total = 0
for (var i = 0, _len = this.length; i < _len; i++) {
total += this[i][newProp] // Surely this is wrong :(
}
return total
};
任何清潔的方式來實現這一目標?
我需要這樣的:
let totalAmount = array.sum("amount");
好抓。我想知道是否有另一種方式,而不是使用'Array.prototype' – Sylar