Javascript 如何过滤对象的数组属性?
我有一个像这样的对象:Javascript 如何过滤对象的数组属性?,javascript,underscore.js,Javascript,Underscore.js,我有一个像这样的对象: myObj = { 1: [ { "name" : "ringo", "passed": true, "level" : 2 }, { "name" : "paul", "passed": tru
myObj = {
1:
[
{
"name" : "ringo",
"passed": true,
"level" : 2
},
{
"name" : "paul",
"passed": true,
"level" : 3
},
{
"name" : "john",
"passed": false,
"level" : 4
},
{
"name" : "george",
"passed": true,
"level" : 1
},
],
2:
[
{
"name" : "ringo",
"passed": true,
"level" : 2
},
{
"name" : "paul",
"passed": true,
"level" : 3
},
{
"name" : "john",
"passed": false,
"level" : 4
},
{
"name" : "george",
"passed": true,
"level" : 1
},
],
}
如何过滤myObj以保持myObj结构(即键(1,2)和嵌套数组),并返回通过两个测试的数组对象,通过=true和级别>3?使用
\uuuuwk.mapObject
来维护键结构,然后过滤数组
var result = _.mapObject(myObj,d=> _.filter(d,k=> k.passed && k.level > 3))
请注意,您提供的对象返回零结果。这是无效的对象文字语法,它将使用
:
而不是=
。