Как вывести нечетные числа в javascript
Цикл for — это конструкция, повторяющая одно и то же действие несколько раз
f or ( let i = 0 ; i 10 ; i += 1 ) <
console . log ( ‘i: ‘ , i);
>
let i = 0 — это блок объявления и инициализации переменной цикла
i — условие дальнейшего выполнения цикла for. Если условие равно true, то цикл выполняется.
i += 1 — увеличение переменной цикла
Алгоритм работы цикла for:
1. Объявления и инициализации переменной цикла
2. Проверка условия, если оно истинно (равно true), то цикл выполняется
3. Выполнения кода, находящегося в блоке цикла for
4. Увеличение переменной цикла
5. Проверка условия (повторение пункта 2)
6. Выполнения кода, находящегося в блоке цикла for (повторение пункта 3)
7. Увеличение переменной цикла (повторение пункта 4)
8. Проверка условия (повторение пункта 2)
И так далее, пока условие не станет равно false
Что такое блок кода?
Напомню, что блок кода — это все, что находится внутри фигурных скобок, например:
<
console . log ( ‘Я нахожусь в блоке кода’ );
>
if ( true ) <
console . log ( ‘Я нахожусь в блоке кода условного оператора’ );
>
f or ( let i = 0 ; i 2 ; i += 1 ) <
console . log ( ‘Я буду печататься в консоли дважды и я тоже в блоке, в блоке цикла for’ );
>
Примеры цикла for:
f or ( let i = 5 ; i 10 ; i += 1 ) <
console . log ( ‘i: ‘ , i);
>
f or ( let i = 6 ; i 20 ; i += 3 ) <
console . log ( ‘i: ‘ , i);
>
f or ( let i = 20 ; i > 5 ; i -= 1 ) <
console . log ( ‘i: ‘ , i);
>
f or ( let i = 100 ; i > 60 ; i -= 10 ) <
console . log ( ‘i: ‘ , i);
>
Массивы
Массив — это непрерывная динамическая коллекция элементов. Объявление и инициализация пустого массива выглядит так:
Пример числового массива:
var myarray = [ 1 , 2 , 4 , 8 , 16 ];
Пример строкого массива:
var myarray = [ ‘hello’ , ‘world’ , ‘i’ , ‘love’ , ‘JS’ ];
Пример смешанного массива:
var myarray = [ 1 , ‘hello world’ , true , null , undefined , [ 1 , 2 , false , false ]];
Длина массива
С помощью свойства length мы можем получить длину массива.
console . log ( ‘myarray.length: ‘ , myarray.length);
Индексация массива
Индекс — это порядковый номер элемента в массиве. Нумерация индексов начинается с нуля. Приведу пример:
var numbers = [ 90 , 12 , 67 , 15 , 81 ];
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
console . log ( ‘numbers[0]: ‘ , numbers[ 0 ]);
console . log ( ‘numbers[1]: ‘ , numbers[ 1 ]);
console . log ( ‘numbers[2]: ‘ , numbers[ 2 ]);
console . log ( ‘numbers[3]: ‘ , numbers[ 3 ]);
console . log ( ‘numbers[4]: ‘ , numbers[ 4 ]);
console . log ( ‘numbers[5]: ‘ , numbers[ 5 ]);
console . log ( ‘numbers[6]: ‘ , numbers[ 6 ]);
console . log ( ‘numbers[7]: ‘ , numbers[ 7 ]);
// numbers: [90, 12, 67, 15, 81]
// numbers.length: 5
// numbers[0]: 90
// numbers[1]: 12
// numbers[2]: 67
// numbers[3]: 15
// numbers[4]: 81
// numbers[5]: undefined
// numbers[6]: undefined
// numbers[7]: undefined
В JS при обращении к несуществующему элементу массива по индексу выведется undefined
Методы для работы с массивами (Добавление и удаление)
var numbers = [ 90 , 12 , 67 , 15 , 81 ];
console . log ( ‘Добавляем число 666 в конец массива’ );
numbers.push( 666 );
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
// numbers: [90, 12, 67, 15, 81, 666]
// numbers.length: 6
console . log ( ‘Удаляем последний элемент и присваиваем его значение в переменную poped’ );
var poped = numbers. pop ();
console . log ( ‘poped: ‘ , poped);
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
// poped: 666
// numbers: [90, 12, 67, 15, 81]
// numbers.length: 5
console . log ( ‘Удаляем первый элемент и присваиваем его значение в переменную shifted’ );
var shifted = numbers.shift();
console . log ( ‘shifted: ‘ , shifted);
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
// shifted: 666
// numbers: [12, 67, 15, 81]
// numbers.length: 4
console . log ( ‘Добавляем число 1234 в начало массива’ );
numbers.unshift( 1234 );
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
// numbers: [1234, 12, 67, 15, 81]
// numbers.length: 5
console . log ( ‘Добавляем число 1234 в начало массива’ );
numbers.unshift( 9876 );
console . log ( ‘numbers: ‘ , numbers);
console . log ( ‘numbers.length: ‘ , numbers.length);
// numbers: [9876, 1234, 12, 67, 15, 81]
// numbers.length: 6
Примеры решения задач
// Сумма последовательности чисел от 0 до n
var n = parseInt (Math. random () * 10 ),
s = 0 ; // Переменная для хранения суммы
f or ( let i = 1 ; i n + 1 ; ++ i) <
s += i;
>
console . log ( ‘Сумма равна: ‘ + s);
// Сумма последовательности чисел от k до n
var n = parseInt (Math. random () * 20 ),
k = parseInt (Math. random () * 5 ),
s = 0 ; // Переменная для хранения суммы
f or ( let i = k; i n + 1 ; ++ i) <
s += i;
>
console . log ( ‘Сумма равна: ‘ + s);
// Сумма последовательности ЧЕТНЫХ чисел от k до n
var n = parseInt (Math. random () * 20 ),
k = parseInt (Math. random () * 5 ),
s = 0 ; // Переменная для хранения суммы
f or ( let i = k; i n + 1 ; ++ i) <
if (i % 2 == 0 ) <
s += i;
>
>
console . log ( ‘Сумма четных чисел равна: ‘ + s);
// Факториал числа n
// Факториалом называется произведение чисел от 1 до n.
// Пример: 5! = 1*2*3*4*5
// Пример: 7! = 1*2*3*4*5*6*7
var n = parseInt (Math. random () * 10 ),
factorial = 1 ; // Переменная для хранения факториала
f or ( let i = k; i n + 1 ; ++ i) <
factorial *= i;
>
console . log ( ‘Факториал числа n равен: ‘ + factorial);
Решение задач
1. Вывести числа от 0 до 10 и добавить их в массив.
2. Удалить все добавленнные числа с помощью метода pop.
3. Вывести числа от 0 до n и добавить их в массив, где n — это случайное число.
4. Удалить все добавленные числа с помощью метода shift
5. Вывести нечетные числа в диапазона от 0 до n (диапазон — это последовательность чисел от 0 до n) и добавить их в массив
6. Создать массив из чисел от 0 до n. Удалить и вывести только четные числа.
7. Вывести числа, делящиеся на три без остатка, в диапазоне от 0 до n.
8. Вывести числа, делящиеся на три или на семь без остатка, в диапазоне от 0 до n.
9. Найти сумму всех чисел, делящихся на 3, от 1 до n.
10. Найти сумму нечетных чисел от 1 до n.
11. Даны два целых числа a и b a 12. Дано целое число n. Найти сумму 1 + 1/2 + 1/3 + . + 1/n
Условия в циклах в JavaScript
В циклах можно применять условия. Посмотрим на примере. Пусть у нас есть следующий массив:
Выведем в консоль все элементы этого массива:
А теперь наложим условие и будем выводить только элементы, которые являются четными числами:
Дан следующий массив:
Выведите в консоль те элементы массива, которые больше 3 -х, но меньше 10 .
Дан следующий объект:
Выведите в консоль те элементы объекта, значения которых — нечетные числа.
Циклы while, for в JavaScript
Здравствуйте! В этом уроке рассмотрим такое понятие в программировании как циклы. Иногда возникают задачи, когда надо повторить то или иное действие много раз, то есть зациклить. Например вывести список фамилий пользователей или года рождений в выпадающем списке в форме регистрации. Вот как раз для этих и других задач, где надо повторять действия многократно и предусмотрены циклы. О них мы и поговорим.

Цикл с предусловием while
И первый у нас очереди это цикл while он используется редко и имеет следующий вид:
Пока условие в скобках верно – будет выполняться код из тела цикла.
Например, цикл будет выводить i пока i < 6:
Каждый раз, когда тело цикла повторяется — называется итерацией цикла. В данном примере происходит 6 итераций цикла или 6 повторений.
Если операции приращения i++ нет то цикл выполняется вечно и при этом браузер зависает и аварийно закрывается. Поэтому здесь следует быть очень внимательным и следить за тем чтобы было условие выхода из цикла.
Условие в скобках возвращает логическое значение и примет false, как только i=0. Вот как в примере.
Цикл c постусловием do…while
Рассмотрим разновидность цикла while, когда условие выхода из цикла находится под телом самого цикла:
В этом цикле сначала выполнится тело цикла, а затем будет проверяться условие, то есть даже если условие сразу будет ложно, то тело цикла будет выполнено хотя-бы один раз в этом и состоит его отличие от предыдущего цикла, когда условие ложно, то цикл ни разу не выполняется и происходит выход из цикла.
Как не трудно заметить такой цикл используется еще реже ввиду того, что условие располагается за циклом и не всегда можно сразу его найти.
Цикл for
Этот цикл используется чаще всего.
Пример цикла, который выполняет alert(i) для i от 0 до 5 включительно:
- Начальное значение: i=0.
- Условие выхода из цикла: i<6.
- Шаг цикла: i++.
- Тело цикла: alert(i) это код внутри фигурных скобок
Цикл будет работать следующим образом:
- Начальное значение : i=0 выполняется при заходе в цикл.
- Условие выхода из цикла: i<6 проверяется перед каждым шагом цикла и при входе в цикл, если возвращает ложь то происходит выход из цикла.
- Тело цикла: alert(i).
- Шаг цикла: i++ выполняется после тела цикла на каждом шаге, но перед проверкой условия цикла.
Другими словами, алгоритм выполнения: начало → (если условие → тело → шаг) → (если условие → тело → шаг) → … и так далее, пока верно условие.
Пропуск частей цикла for
Любая часть цикла for может быть пропущена. Но лучше этого не делать, особенно для начинающих.
Например, можно убрать начальное значение счетчика цикла:
Можно убрать и шаг цикла:
Ну и конечно можно убрать всё, при этом цикл превратится в бесконечный цикл:
Но точки с запятой ; обязательно должны быть.
Прерывание цикла: оператор break
Иногда требуется выйти из цикла до того как основное условие выхода из цикла вернет false. Для этого используется оператор break. Мы уже сталкивались с ним, когда рассматривали конструкцию switch … case.
Например, прервать выполнение цикла на 3 шаге:
В этом примере выполнятся шаги цикла 0,1,2 а потом срабатывает условие в блоке if и происходит выход из цикла.
Оператор continue
Этот оператор используется, тогда когда требуется пропустить шаг цикла. Например надо вывести все числа от1 до 10, кроме 5.
Итоги.
В JavaScript поддерживается 3 вида циклов:
- while – проверка условия перед каждым шагом цикла. Это цикл с предусловием
- do..while – проверка условия после каждого выполнения цикла. Это цикл с постусловием.
- for – проверяет условие после каждого выполнения, а также содержит дополнительные настройки.
Для того чтобы создать бесконечный цикл используется конструкция while(true). Если надо заранее прервать цикл используется оператор break. А вот ежели вам надо пропустить шаг выполнения цикла, то для этого подойдет continue.
Задания.
Что будет в результате выполнения этого кода
Какие значения переменной i выведет этот цикл?
Выведите нечетные числа от 2 до 20.
Замените for на while
Замените цикл for на while.
Вывести все простые числа в диапазоне от 1 до 10.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Javascript Как вернуть массив с нечетными числами
Все идет нормально. Теперь я хочу получить нечетные числа. Как я могу этого достичь?
6 ответов
x.filter(n => n%2) будет содержать только нечетные числа.
Если n является четным, n%2 вернет 0, и элемент будет удален фильтром.
Во-первых, сделайте меня странным:
Затем повторяйте каждую секунду:
Обратите внимание, что это возвращает числа r-1 , а не числа до r-1
При условии двух значений l (начальная точка) и r (конечная точка) вы можете создать свой массив от l до r с шагом +1. Используйте этот массив для фильтрации желаемых значений, которые соответствуют критериям mod 2 или % 2 . FYI mod 2 возвращает 0 , если значение является четным числом, или 1 , если значение является нечетным числом. Метод filter () создает новый массив со всеми элементами, которые проходят тест, реализованный предоставленной функцией (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter). Обратите внимание, что в JavaScript 0 является значением falsy , поэтому возвращаются только положительные целочисленные значения, такие как 1, поэтому массив формируется со всеми значениями, в результате которых n % 2 равен 1.
Вы можете использовать подходящее начальное значение и увеличиваться на 2 для каждого нажатия.