Это нормально.
Использование const
для объявления идентификатора делает значение идентификатора неизменным, только если значение идентификатора является примитивом JavaScript, например, числом или логическим значением.
Если значение идентификатора является объектом или массивом (массив является типом объекта в JavaScript), использование const
для объявления этого не означает, что значение этого идентификатора объекта не может быть изменений. Это означает только то, что идентификатор нельзя переназначить.
Для рефакторинга вашего кода с использованием const используйте приведенный ниже список кодов
const findRecordExists = (options, possibleMatchId) => {
const optionsWithPossibleMatches = [];
options.forEach(option => {
option.waivers.forEach(waiver => {
if (waiver.waiverNameId === possibleMatchId) {
optionsWithPossibleMatches.push(option);
}
});
});
return optionsWithPossibleMatches;
};
Если вы хотите пропустить промежуточные шаги создания переменных для хранения каждого параметра, соответствующего вашему условию, вы можете использовать метод filter
, как предписано @ CertainPerformance