我有一个大数组的数据。 Everythink是一个arry,我想为每个gameid创建单独的数组beacue这个大数组有几行与示例gameid:999。
Object {123:Object {username:tom,gameid:999},111:Object {username:rob,gameid:999},222: Object {username:jon,gameid:1000},333 Object {username:henry,gameid:1000}}
我没有好主意。
结果应如下所示:
AllGameIdArry [
array[gameid:999]: [{ username: rob},{ username: tom}]
array[gameid:1000]: [{ username: rob},{ username: tom}]
array[gameid:1001]: [{ username: rob},{ username: tom}]
array[gameid:1002]: [{ username: rob},{ username: tom}]
]
答案 0 :(得分:0)
var x = {123: { username: `tom`, gameid: 999 }, 111: { username: `rob`, gameid: 999 }, 222: { username: `jon`, gameid: 1000 }, 333: { username: `henry`, gameid: 1000 }}
var final = {};
for (key of Object.keys(x)) {
if (!final[`gameid:${x[key].gameid}`])
final[`gameid:${x[key].gameid}`] = [];
final[`gameid:${x[key].gameid}`].push({username: x[key].username});
}
你的第一个例子并不是那么好,但我已经做了一些你可能想要的东西,至少是以更好的方式学习和做事