Пусть теперь в переменной у нас хранится
не число в кавычках, а просто число. В этом
случае попытка обратится к его отдельному
символу выдаст undefined
, так как
такое обращение работает только для строк:
let test = 12345;
alert(test[0]); // выдаст undefined
Для решения проблемы преобразуем наше число в строку:
let test = String(12345); // строка
alert(test[0]); // выведет '1' - все работает
Пусть мы теперь хотим найти сумму первых двух цифр:
let test = String(12345); // строка
alert(test[0] + test[1]); // выведет '12' - суммирует как строки
Добавим функцию Number
для того, чтобы
символы суммировались как числа:
let test = String(12345); // строка
alert(Number(test[0]) + Number(test[1])); // выведет 3
Напоминаю, что проблема такого рода возникнет только при суммировании. При умножении, например, преобразование к числам можно не выполнять:
let test = String(12345); // строка
alert(test[1] * test[2]); // выведет 6
Дано число 12345
. Найдите сумму цифр
этого числа.
Дано число 12345
. Найдите произведение
цифр этого числа.
Дано число 12345
. Переставьте цифры
этого числа в обратном порядке.