Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Выводится в конце undefined.

Савелий Савченко Знаток (341), на голосовании 6 месяцев назад
В консоли выводится под одиннадцатым номером "undefined". Как это убрать?

Вот код:
________________________________________________________________________________

let string = "afsadfsadf";

for (x = 0; x <= string.length; x ++) {
console.log("Символ №" + (x + 1) + " " + string[x])
}
________________________________________________________________________________
Голосование за лучший ответ
Semen Kapacuk Гуру (3750) 7 месяцев назад
 for (let x = 0; x < string.length; x++) 
обязательно let/const пиши, и ты проверяешь до тех пор, пока x меньше или равен длине строки. Но длина строки например 10, а string[10] будет undefined, т.к. с нуля считается
Dlazder Мудрец (16875) 7 месяцев назад
Так ведь ты выводишь символ x + 1, а не просто x. Поэтому у тебя в конце, выведется последний элемент + 1, а его не существует
ПавелПросветленный (25617) 7 месяцев назад
x + 1 не причина, так ка он используеться как порядковый номер а не индекс. Проблема в условии цикла, как указал пользователь Semen 2-мя часами ранее твоего ответа. Иногда полезно почитать другие ответы на вопрос дабы не облажаться или не потратить время на повторный ответ ?.
Dlazder Мудрец (16875) Рукажоп, не облажался а ошибся из за невнимательности ?
Павел Просветленный (25617) 7 месяцев назад
А вот немного более корректный код:
 const str = 'afsadfsadf';  

for (let x = 0; x < str.length; x++) {
console.log(`Символ №${x + 1}: ${str[x]}`);
}
Похожие вопросы