0%

lodash array to object

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const mergeUnionByKey = function(data,key,templete={}) {
const datasets = data
const datasetsIndex = _.mapValues(datasets, dataset => _.keyBy(dataset, key))
const uniqKeys = _.chain(datasets).flatten().map(key).uniq().value()
const c = _.chain(uniqKeys).map(val => {
const data = JSON.parse(JSON.stringify(templete))
_.each(datasetsIndex, dataset =>{
_.merge(data, dataset[val])
})
return data
}).filter(key).value()
return c

}