undefinded при работе с массивом

Рейтинг: 0Ответов: 1Опубликовано: 19.03.2023

Когда беру что либо из массива и изменяю регистр то либо всё заменяется на undefinded, либо он добавляется из ниоткуда

arr = ['Hello', 'World'];
let x
what = arr.forEach(function(item, i, arr) {
    x += item.toLowerCase()[0] + ' '
  });
console.log(x)

ожидается, что выведет 'h w', а выводит 'undefinedh w'

Ответы

▲ 1

При объявлении переменной не присвоено значение

let x

По умолчанию присваивается undefined.

При сложении с первой буквой undefined приводится к строке.

Для решения достаточно инициализировать пустой строкой:

let x = '';

arr = ['Hello', 'World'];
let x = '';
what = arr.forEach(function(item, i, arr) {
    x += item.toLowerCase()[0] + ' '
  });
console.log(x)