Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在集合中找到特定模型属性的总数?_Javascript_Backbone.js_Backbone Events - Fatal编程技术网

Javascript 如何在集合中找到特定模型属性的总数?

Javascript 如何在集合中找到特定模型属性的总数?,javascript,backbone.js,backbone-events,Javascript,Backbone.js,Backbone Events,如何在集合的模型中找到特定属性的总数 var myModel = Backbone.Model.extend({ }); var myCollection = Backbone.Collection.extend({ model : myModel, }); 每当模型中出现值变化时,我必须显示所有值的总和 例如,我在集合中有10个模型,模型中有一个名为amount的属性。每当属性获得新值时,我应该显示金额的总和 我使用的代码是: debitAmountTotal: function

如何在集合的模型中找到特定属性的总数

var myModel = Backbone.Model.extend({ });

var myCollection = Backbone.Collection.extend({
    model :  myModel,
});
每当模型中出现值变化时,我必须显示所有值的总和

例如,我在集合中有10个模型,模型中有一个名为
amount
的属性。每当属性获得新值时,我应该显示
金额的总和

我使用的代码是:

debitAmountTotal: function(){
    return this.reduce(function(memo, value) {
        return memo + value.get("amountTcy");
    }, 0);
}
但是这会连接这些值:如果第一个值是8,第二个值是8,那么结果是88而不是16

  • 为每个模型中的金额指定默认值0
  • changed
    事件绑定到集合的模型,并将其添加/删除到集合中
  • 对于
    changed
    事件,请使用underline.js的方法在集合上迭代并查找金额之和

  • 收藏的
    “添加”
    “删除”
    也可能会引起兴趣。@muistooshort谢谢,如果您能提供一些代码,那将很有帮助snippet@DhruvPathak谢谢如果您可以提供一些代码段或
    all
    如果您计划订阅所有3个
    +
    串联表示您的
    amountTcy
    值实际上是字符串,则将它们转换为数字后再进入模型,这将很有帮助。
    debitAmountTotal: function(){
        return this.reduce(function(memo, value) {
            return memo + Number(value.get("amountTcy"));
        }, 0);
    }