如何浏览商店并查找具有相同属性的记录数?
我累了filterBy
,但在那里你只能输入具体的值而不是属性
假设我有这样的记录:
record1{
name: 'John'
}
record2{
name'John'
}
record3{
name:'Steve'
}
返回具有相同名称的记录
答案 0 :(得分:3)
只需循环遍历集合:
var seen = {};
store.each(function(rec) {
var name = rec.get('name');
if (!seen.hasOwnProperty(name)) {
seen[name] = 0;
}
++seen[name];
});
答案 1 :(得分:1)
您可能也会对Grouping
感兴趣:
var myStore = Ext.create('Ext.data.Store', {
groupField: 'name',
groupDir : 'DESC'
});
myStore.getGroups(); // returns:
[
{
name: 'yellow',
children: [{
name: 'John'
}, {
name: 'John'
}]
},
{
name: 'Steve',
children: [{
name: 'Steve'
}]
}
]
然后你可以计算每组中有多少孩子。
(更多详情请见http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.Store)