Пусть при переборе чисел мы хотим получать
от этих чисел какую-нибудь цифру. К примеру,
мы хотим сделать так, чтобы число выводилось
в консоль, если его первая цифра равна 1
или 2
.
Напоминаю, что нельзя просто так обращаться к символам числа, то есть вот так не будет работать:
for (let i = 1; i <= 100; i++) {
if (i[0] == 1 || i[0] == 2) { // так не будет работать
console.log(i);
}
}
Сначала необходимо преобразовать число в
строку с помощью функции String
, и
уже тогда получать определенный символ полученной
строки, вот так:
for (let i = 1; i <= 100; i++) {
let str = String(i); // преобразуем число в строку
if (str[0] == 1 || str[0] == 2) {
console.log(i);
}
}
Переберите циклом числа от 10
до 1000
и выведите на экран те числа, сумма двух
первых цифр которых равна 5
.
Типизация и сумма
Пусть у нас есть код, который находит сумму
чисел от 1
до 9
:
let result = 0;
for (let i = 1; i <= 9; i++) {
result = result + i;
}
console.log(result);
Давайте переделаем этот код так, чтобы наши
числа складывались как строки, а не как числа.
Для этого при сложении будем преобразовывать
переменную i
к строке с помощью функции
String
, и начальное значение переменной
result
зададим как пустую строку (аналог
нуля для строк):
let result = ''; // начальное значение - пустая строка
for (let i = 1; i <= 9; i++) {
result = result + String(i); // преобразуем i к строке с помощью String()
}
console.log(result);
На самом деле, так как переменная result
- строка, то преобразовывать и переменную
i
к строке не обязательно - строка
result
и число i
все равно
будут складываться как строки. Исправим:
let result = '';
for (let i = 1; i <= 9; i++) {
result = result + i;
}
console.log(result);
Перепишем теперь наш код с использованием
команды +=
, вот так:
let result = '';
for (let i = 1; i <= 9; i++) {
result += i;
}
console.log(result);
Переберите циклом числа от 1
до 30
и сложите их как строки.