2013-04-17 64 views
-1

下面是我的json结构和集合获取后,我无法循环它。无法循环收集 - 骨干

JSON:

{ "science":[{},{},{},...{}], "maths":[{},{},{},...{}], "english":[{},{},{},...{}], } 

this.collection.each(function(m) { 
    //returns me only only single child object named "r" 
    //screenshot attached below 
}); 

哪有3 DIFF数组对象i循环3次,即?

enter image description here

+0

你可以更具体地了解你的数据结构吗?或者你只是想循环访问这个特定模型的3个数组属性? – Loamhoof

+0

我想循环这样,我得到3个属性..科学,数学和航空。到目前为止,它只是迭代一次,并显示一个名为“r”的对象。 – user1184100

+0

您所谈论的3个属性是Model的属性。你试图循环你的集合,因此你得到一个模型(该对象“r”是一个模型,为更多的解释为什么这个名字我可以给你一个链接,但这不是重点)。你期望什么结构(显然不是这个结构)? – Loamhoof

回答

1

你必须改变包含您的数据的JSON。一个集合将解析你给的JSON:

[{...}, {...}, {...}] 

这里我们有一个3个对象的数组。这将被解析为3个模型。所以,你想这样的事情:

[ 
    {course: 'science', data: [...]}, 
    {course: 'maths', data: [...]}, 
    {course: 'aviation', data: [...]} 
] 

这会给你一个收集有3种型号,每个这些模型将有2个属性:一个属性course和一个data。现在,通过它们循环:

this.collection.each(function(m) { 
    console.log(m.get('course')); // will be science, maths or aviation 
    console.log(m.get('data')); // will be the corresponding array 
});