0

我用一个 ID 列表动态填写一个数组:

var allChildNodeIDs = [];
Ext.getCmp('categoriesTreePanel').getRootNode().eachChild(function(Mynode){
        allChildNodeIDs.push(Mynode.data.idCategorie);
   });

然后我想根据数组中包含的所有 Id 过滤一个商店。例如,如果数组包含两个值,我希望我的商店将像这样过滤:

myStore.filterBy(function(record) {
            return (record.get('idCategorie') == allChildNodeIDs [1] && record.get('idCategorie') == allChildNodeIDs [2]);
        });

但是数组是动态填充的,不知道他的长度!

4

1 回答 1

1

您示例中的排序功能似乎总是返回false。我假设你想要做的是接受数组中存在的所有记录(即你打算使用||而不是&&)。

您可以使用Array'indexOf方法。

例子:

myStore.filterBy(function(record) {
    return allChildNodeIDs.indexOf(record.get('idCategorie')) !== -1;
});
于 2013-06-11T12:14:11.157 回答