Javascript 主干模型循环输出最终对象,而不是迭代器

Javascript 主干模型循环输出最终对象,而不是迭代器,javascript,backbone.js,backbone.js-collections,Javascript,Backbone.js,Backbone.js Collections,因此,我试图在数组“cat”中填入五行,这五行将记录每个类别在一个步骤中出现的次数。问题是循环会执行,但它不会一个接一个地输出结果,所以我可以看到每个类别的计数是如何上升的(时间序列)。它所做的一切都会显示出每个类别的总数 this.cat = []; this.cat[0] = 0; this.cat[1] = 0; this.cat[2] = 0; this.cat[3]

因此,我试图在数组“cat”中填入五行,这五行将记录每个类别在一个步骤中出现的次数。问题是循环会执行,但它不会一个接一个地输出结果,所以我可以看到每个类别的计数是如何上升的(时间序列)。它所做的一切都会显示出每个类别的总数

            this.cat = [];
            this.cat[0] = 0;
            this.cat[1] = 0;
            this.cat[2] = 0;
            this.cat[3] = 0;
            this.cat[4] = 0;
            this.total = 0;
        },
        model: vote,
        parse: function(data)
        {
            data = data.response ? data.response : data;

            if(data.length == 0)
                return;

            for (var i = 0; i < data.length; i++) {
                this.itemParse(data[i]);
            };

            return data;
        },
        itemParse: function(item){
            this.cat[item.user_vote_index]++;
            this.total++;
            console.log(this.cat);
            item.cat = this.cat;
            item.total = this.total;
            console.log(item);
            return item;
        }
    })
})`
this.cat=[];
这个.cat[0]=0;
这个.cat[1]=0;
这个.cat[2]=0;
这个.cat[3]=0;
这个.cat[4]=0;
这个总数=0;
},
模式:投票,
解析:函数(数据)
{
data=data.response?data.response:数据;
如果(data.length==0)
返回;
对于(变量i=0;i
这是我的控制台日志
console.log(this.cat)console.log(this.cat);
[1,0,0,0,0]stats.js:33

[1,0,0,1,0]stats.js:33

[1,0,1,1,0]stats.js:33

[8,6,1,2,1]

这就是我希望数据存储的方式(一次迭代一次);
但是,当我控制台记录collection item.cat为每行提供[8,6,1,2,1]时,您必须修改
itemParse
函数:

itemParse: function(item){
  this.cat[item.user_vote_index]++;
  this.total++;
  // here you have to clone the array instead of creating a reference to it
  item.cat = _.clone(this.cat);
  item.total = this.total;
  return item;
}