Jquery 下划线如何合并过滤对象或在集合中查找两个属性?

Jquery 下划线如何合并过滤对象或在集合中查找两个属性?,jquery,underscore.js,Jquery,Underscore.js,我有一个对象数组,从我需要找到的对象是'age=1'和'name=1',然后如何将它们结合起来 我的努力 var array = [ {'name':'one', "age":'3'}, {'name':'two', "age":'1'}, {'name':'three', "age":'3'}, {'name':'four', "age":'1'}, {'name':'one', "age":'7'} ] var required = ['one', '

我有一个对象数组,从我需要找到的对象是'age=1'和'name=1',然后如何将它们结合起来

我的努力

var array = [
    {'name':'one', "age":'3'},
    {'name':'two', "age":'1'},
    {'name':'three', "age":'3'},
    {'name':'four', "age":'1'},
    {'name':'one', "age":'7'}
]
var required = ['one', '1'];

var name = _.where(array, {'name':'one'});
var age = _.where(array, {'age':'1'});

var combine = $.extend({}, name, age ) 
console.log(combine); // getting only age based objects...
即使使用下划线方法本身,如何获得这两个属性化对象

您可以使用该功能:


一般的过滤/搜索功能是:

过滤器
过滤器(列表、迭代器、[context])

查看列表中的每个值,返回通过真值测试的所有值的数组(迭代器)。委托本机筛选器方法(如果存在)

所以你想要:

_(array).filter(function(e) {
    return e.name === 'one' || e.age === '1';
});

演示:

您也可以帮助我删除基于值数组的对象。。这是演示。。如何删除?如果我理解正确,您可以再次使用reduce:
_(array).filter(function(e) {
    return e.name === 'one' || e.age === '1';
});