Я создаю простое приложение todo и пытаюсь получить назначенных пользователей для каждой задачи.Но допустим, что в моей базе данных по какой-то причине идентификатор задачи начинается с 80, а не с 1, и у меня всего 5 задач.
Я написал следующий код, чтобы получить связь между пользователеми задача, так что я ожидаю, что в конце он должен вернуть массив, содержащий 5 ключей, каждый ключ содержит массив с назначенным идентификатором пользователя для конкретной задачи.
Проблема в том, что я получаю массив с 85всего ключей, и первые 80 ключей undefined
.
Я пытался использовать .map()
вместо .forEach()
, но я получаю тот же результат.
let assignedUsers = new Array();
this.taskLists.forEach(taskList => {
taskList.tasks.forEach(task => {
let taskId = task.id;
assignedUsers[taskId] = [];
task.users.forEach(user => {
if(taskId == user.pivot.task_id) {
assignedUsers[taskId].push(user.pivot.user_id);
}
});
});
});
return assignedUsers;
Iпредположим, что проблема в этой строке, но я не понимаю, почему ...
assignedUsers[taskId] = [];
Мне удалось отфильтровать и удалить пустые ключи из массива, используя следующую строку:
assignedUsers = assignedUsers.filter(e => e);
Тем не менее, я хочу понять, почему это происходит, и если есть какой-то способ, которым я мог бы избежать этого.
Ждем ваших комментариев!