配列内のいくつかのオブジェクト値を合計する必要があります。配列オブジェクトの文字列値の合計
JavaScriptを::私はthis methodを発見した
let array = [
{quantity: 1, amount: "24.99"}
{quantity: 5, amount: "4.99"},
]
は、スタックオーバーフローの周り掘り(イムが反応使用):他の人がstring
すなわちすることができながら、いくつかは、int
をすることができ
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
をfloatに変換する必要があるため、上記は機能しません。
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
};
これを達成するために、任意のきれいな方法:反応は、私は、これはいくつかの魔法を行うだろうと思った、およそComponent's children should not be mutated.
されていないJS忍者を不平を言いますか?
let totalAmount = array.sum("amount");
良いキャッチ。私は 'Array.prototype'を使う代わりに別の方法があるのだろうかと思っていました。 – Sylar