1 回答

TA貢獻1936條經驗 獲得超7個贊
您可以先簡化代碼,如下所示。更新/打印console.log(JSON.stringify(payload))。我認為if(problemsSolved.includes(problems[i]._id))沒有按預期工作
export const setStatistics = (
problems,
problemsSolved,
filter = ""
) => dispatch => {
let payload = {
subject1: 0,
subject2: 0,
subject3: 0,
total: 0,
exercisesMarked: [],
curPageExercisesMarked: []
};
for (let i = 0; i < problems.length; i++) {
if(problemsSolved.includes(problems[i]._id)) {
payload["subject"+ problems[i].S]++
payload.total++;
payload.exercisesMarked.push(problems[i]);
}
}
payload.curPageExercisesMarked = payload.exercisesMarked.slice(0, 10);
dispatch({
type: SET_USER_STATISTICS,
payload
});
};
// 還
case SET_USER_STATISTICS:
return {
...state,
...payload
};
添加回答
舉報