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
}
|