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' });