首页 > 解决方案 > 如何使用 underscore.js 在列表元素中过滤具有匹配参数的对象?

问题描述

nodedatasource = [
    {"id":1,'name':'a'},
    {"id":2,'name':'b'},
    {"id":3,'name':'c'},
    {"id":4,'name':'d'},
]
list_ids = [3,2] #

我想获得一个过滤后的数据源对象列表,在 list_ids 中有 id?
我尝试过这种方法。

....需要一些更正

datanode =_.filter(nodedatasource, function(element,ids){
    return element.id in ids
})

标签: javascriptunderscore.js

解决方案


另一种在 underscorejs 中完全做到这一点的方法:

list_ids = [3, 2]
datanode = _.filter(nodedatasource,function(element,list_ids){ 
              return _.contains(list_ids,element.id) 
             });
//datanode = [{"id":2,'name':'b'},
//            {"id":3,'name':'c'}]

推荐阅读