繁体   English   中英

如何过滤对象的数组属性?

[英]How to filter array properties of object?

我有一个看起来像这样的对象:

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) 和嵌套数组)并返回通过两个测试的数组对象,passed = true 和 level > 3?

使用_.mapObject来维护您的密钥结构,然后过滤数组。

var result = _.mapObject(myObj,d=> _.filter(d,k=> k.passed && k.level > 3))

https://jsfiddle.net/ro4p4kya/

请注意,您提供的对象返回零结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM