Цикл for и типы данных JavaScript

Пусть при переборе чисел мы хотим получать от этих чисел какую-нибудь цифру. К примеру, мы хотим сделать так, чтобы число выводилось в консоль, если его первая цифра равна 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 и сложите их как строки.