我需要从下面提到的具有嵌套数组对象最大长度的对象数组中获取数据。根据我的要求,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"
},
]
}]
答案 0 :(得分:1)
这可以使用原生javascript reduce
函数实现,如下所示
var source = [...];
source.reduce((max, cur) => cur.values.length > max.values.length ? cur : max, source[0])