我有一些格式的数据:
{ regionalGames1: [ 1, 2, 3, 4, 5 ],
regionalGames2: [ 2, 3, 4, 5, 6 ],
regionalGames3: [ 3, 5, 5, 6, 7 ] }
如何使用lodash将数据重新排列为:
{
1: [regionalGames1],
2: [regionalGames1, regionalGames2],
3: [regionalGames1, regionalGames2, regionalGames3],
4: [regionalGames1, regionalGames2, regionalGames3],
...
}
等等?
我正在查看
_.groupBy
以及_.keyBy
,但似乎无法弄清楚。 最佳答案
您可以使用Object.keys()
和两个forEach()
循环进行此操作
var obj = {
regionalGames1: [1, 2, 3, 4, 5],
regionalGames2: [2, 3, 4, 5, 6],
regionalGames3: [3, 5, 5, 6, 7]
}
var result = {}
Object.keys(obj).forEach(function(e) {
obj[e].forEach(function(a) {
(!result[a]) ? result[a] = [e] : result[a].push(e);
});
});
document.body.innerHTML = '<pre>' + JSON.stringify(result, 0, 4) + '</pre>';