let personalAggregate = (data) => {
let totalNumOfUse = data.length;
let reward = 0;
let userArr = [];
let filteredData = [];
let peopleInfo = [];
let numOfUse = 0;
for(let i in data) {
let userId = data[i].userId;
userArr.push(userId);
}
let filteredId = userArr.filter((item, index) => userArr.indexOf(item) === index);
for(let i in filteredId) {
filteredData = data.filter(item => item.userId === filteredId[i]);
peopleInfo.push(filteredData);
for(let j in filteredData) {
let result = filteredData[j].result.by;
// console.log(result);
reward += peopleInfo[i][j].result.by;
// console.log(reward);
let obj = { [filteredData[j].userId] : filteredData[j].result.by }
console.log(obj)
}
}
// return peopleInfo;
}
personalAggregate(dummyData);
On second day, I fixed filteredData code with indexOf function and push.
Even though, It looks dirty still because I used meaningless variables and Two–dimensional array.