Поскольку в первой строке вы ссылаетесь на currentSearch[i]
, потому что [i]
Я предполагаю, что весь блок кода, который вы вставили здесь, находится внутри какого-то цикла, вероятно, for
.
Тогда,вы создаете функцию для обратного вызова Array.some
, которая вызывает ошибку.
Одним из решений было бы переместить это объявление обратного вызова за пределы родительского цикла, но поскольку вы используете переменную из области видимости,это потребует некоторого рефакторинга.
Возможное решение
Вы можете объявить функцию вне родительского цикла (та, что находится вне кода, который вы здесь предоставили), которая проверяетдля дочернего пользователя.
//Please provide a better name for the function according to the context.
const checkChildUser = function (childUser) {
return this.id === childUser.id;
};
А затем передайте его функции Array.some
, которую вы используете:
currentSearch[i].users.some(checkChildUser, user);