使用lodash,我如何获得嵌套数组对象的最大长度

时间:2018-03-06 12:23:23

标签: javascript node.js lodash

我需要从下面提到的具有嵌套数组对象最大长度的对象数组中获取数据。根据我的要求,id:2个值有3个对象,结果如下所述。

任何人都可以帮我使用lodash或一些javascript函数来实现这一目标。

样品申请:

[{
    "id": 1,
    "values": [
        {
            "sub": "fr",
            "name": "foobar1"
        }, 
        {
            "sub": "en",
            "name": "foobar2"
        }
    ]
}, 
{
    "id": 2,
    "values": [
        {
            "sub": "fr",
            "name": "foobar3"
        },
        {
            "sub": "en",
             "name": "foobar4"
        },
        {
                "sub": "ts",
                 "name": "foobar5"
            },
        ]
    }]

预期产出:

"values": [
        {
            "sub": "fr",
            "name": "foobar3"
        },
        {
            "sub": "en",
             "name": "foobar4"
        },
        {
                "sub": "ts",
                 "name": "foobar5"
            },
        ]
    }]

1 个答案:

答案 0 :(得分:1)

这可以使用原生javascript reduce函数实现,如下所示

var source = [...];
source.reduce((max, cur) => cur.values.length > max.values.length ? cur : max, source[0])