Javascript 如何循环存储和统计sencha上的字段数据

Javascript 如何循环存储和统计sencha上的字段数据,javascript,mysql,extjs,Javascript,Mysql,Extjs,我在sencha有一家商店,代码如下 Ext.define('Qvidi.store.MyJsonStore', { extend: 'Ext.data.Store', requires: [ 'Qvidi.model.Qvidi', 'Ext.data.proxy.Ajax', 'Ext.data.reader.Json' ], constructor: function(cfg) { var me = this; cfg = cfg || {};

我在sencha有一家商店,代码如下

Ext.define('Qvidi.store.MyJsonStore', {
extend: 'Ext.data.Store',

requires: [
    'Qvidi.model.Qvidi',
    'Ext.data.proxy.Ajax',
    'Ext.data.reader.Json'
],

constructor: function(cfg) {
    var me = this;
    cfg = cfg || {};
    me.callParent([Ext.apply({
        storeId: 'MyJsonStore',
        model: 'Qvidi.model.Qvidi',
        proxy: {
            type: 'ajax',
            extraParams: {
                class: 'Qvidi',
                method: 'getData'
            },
            url: 'server/index.php',
            reader: {
                type: 'json',
                rootProperty: 'results'
            }
        }
    }, cfg)]);
  }
});
我需要循环遍历存储并计算来自mysql数据库的一个名为gender的字段,数据库被加载并检索数据,但是我需要迭代数据以计算数据库中有多少男性和女性。因此,在数据库中,男性被定义为1,女性被定义为2。所有这些数据都会加载到存储中

我只需要知道如何区分男性和女性。我知道你必须在sencha中使用foreach函数


加载后编写代码存储

yourStore.queryBy(function(record,id){ return (record.get('Your Field name') === "male/female"); }).getCount(); // For male/female

您可以借助store的
filter()
&
getCount()
函数来实现:

var store = Ext.getStore('MyJsonStore');
store.filter('gender',1);       //filtering all male records
var maleCount = store.getCount();    //getting the count
store.clearFilter();
store.filter('gender',2);           //filtering all female records
var femaleCount=store.getCount();
store.clearFilter();

我试过了,但中途我找到了另一种方法,我决定实际编写一个非常具体的SQL查询,以我需要的方式形成数据,这样我就不需要在存储中进行筛选谢谢你的帮助