@dron112

Почему код работает так?

const getEntryPoint = () => {
    const jsFiles =  [ 'another_index.js', 'article.js', 'blog.js', 'index.js' ]
    const entry = {}

    jsFiles.forEach(file => {
        return {
            ...entry,
            [file]: file
        }
    })

    return entry
}

console.log(getEntryPoint());  // возвращается пустой объект


Почему следующий код выполняется именно так ?
Я ожидаю что он мне вернёт объект такой
{
  'another_index.js':  'another_index.js',
  'article.js'': 'article.js'',
  'blog.js': 'blog.js'
  'index.js': 'index.js'
}

а приходит {}
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
OTCloud
@OTCloud
- И как назовемся? Пожиратели пожирателей смерти?
Потому что вы объявили константу entry как пустой объект и вернули её. То что в forEach что то делаете не касается этой константы. От сюда и вывод.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
TNPTSYWWCC
@TNPTSYWWCC
And I Told Them I Invented Times New Roman
В чем проблема вам уже сказали, только это все можно сделать куда проще:
return jsFiles.reduce((acc, file) => ({...acc, [file]: file}), {});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы