使用 Lodash 查找集合中的嵌套对象


var collection = {
'key1': [
{ 'uuid': '123', 'a': 'a' },
{ 'uuid': '456', 'b': 'b',
'randomKeyValue': [
{ 'uuid': '349', 'd': 'd' }
]
}
],
'key2': [
{ 'uuid': '890', 'c': 'c' }
]
}

使用_.find(collection, { 'uuid': '349' })将返回未定义。

如何找到有uuid == 349的哈希?

结果的预期回报为:{ 'uuid': '349', 'd': 'd' }

必须使用 ES5 标准编写,并且必须使用 Lodash。

使用普通 js 相当简单

var collection = {
'key1': [
{ 'uuid': '123', 'a': 'a' },
{ 'uuid': '456', 'b': 'b' }
],
'key2': [
{ 'uuid': '890', 'c': 'c' },
{ 'uuid': '349', 'd': 'd' }
]
}
const res = Object.values(collection).flat().find(({uuid}) => uuid === '349');
console.log(res);

_.filter(_.flatMap(collection), function(o) { return o.uuid == '349' });

相关内容

  • 没有找到相关文章

最新更新