【发布时间】:2016-02-20 06:34:23
【问题描述】:
假设我有一个如下所示的数组:
var users = [{
users : [{
user :'harry'
}, {
user : 'potter'
}, {
user : 'jinny'
}, {
user : 'weasly'
}],
age : 36,
active : true
}, {
users : [{
user : 'brad'
}, {
user : 'pit'
}, {
user : 'angelena'
}, {
user : 'joly'
}],
age : 40,
active : false
}];
由此,我想根据条件users 选择可以匹配多个值的对象
例如,如果名称是harry 和angelena,则输出变为:
{
users : [{
user : 'harry'
},{
user : 'potter'
}, {
user : 'jinny'
}, {
user : 'weasly'
}],
age : 36,
active : true
}, {
users : [{
user : 'brad'
} ,{
user : 'pit'
}, {
user : 'angelena'
}, {
user : 'joly'
}],
age : 40,
active : false
}
如果名字是harry,输出变成这样:
{
users : [{
user : 'harry'
}, {
user : 'potter'
}, {
user : 'jinny'
}, {
user : 'weasly'
}],
age : 36,
active : true
}
我知道lodash filter with matches 可以用于此,但我不知道如何将其应用于这种情况。
有没有针对这个问题的 javaScript 或 jQuery 解决方案?
【问题讨论】:
-
users.users中的键名不应该是唯一的吗? -
是的
users.user它的独特之处 -
但是有四个键都是
user,每个键都有不同的值。 JSON 不需要唯一键,但建议键是唯一的(除非您有其他正当理由)。 JS 通常会覆盖重复键的先前值。 -
对不起,这是一个错字,现在我已经修正了
标签: javascript jquery json lodash