Вывести нечетные числа от 1 до 100 (JavaScript - без дополнительных условных операторов)

Я просмотрел похожие вопросы, но не нашел того, что прямо отвечает на мой вопрос. Я ищу наиболее эффективный способ печати нечетных чисел от 1 до 100 без использования каких-либо дополнительных условных операторов (с использованием JavaScript).

Начните с 1 и продолжайте добавлять 2

Patrick Evans 04.11.2018 00:12

20 лет разработки, 7 стандартов и до сих пор нет range() в javascript. Какая жалость!

georg 04.11.2018 00:23

Хотя ответы дают вам… «ответ» на ваш вопрос, они не могут сказать, почему он отвечает на ваш вопрос. Вам необходимо предоставить больше информации, например, что вы пробовали, какие вопросы вы просмотрели. В настоящее время вы просто ищете кого-то, кто дал бы вам код для выполнения чего-то, что не является продуктивным.

Cjmarkham 04.11.2018 00:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
3
4 361
4

Ответы 4

Просто сделай это:

for (var i = 1; i < 100; i += 2) {
    console.info(i);
}

Вы, конечно, можете заменить console.info(i) на то, что вы хотите «распечатать» (это немного непонятно). Вы можете записать их на HTML-страницу, если хотите:

for (var i = 1; i < 100; i += 2) {
    document.write(i + "<br>");
}

Вы можете сделать это:

for (let i = 1; i < 100; i+=2) {
 console.info(i);
}

Это цикл for.

Вы могли сделать: console.info (1); console.info (3); .... console.info (99);

Вот почему мы используем цикл for. Циклу For необходимо знать, что такое первый индекс (1), последний индекс (99. вот почему я сделал: '<100) и каковы шаги (2). Итак, он начинается с i = 1, выполните внутренний код в цикле for. Когда закончите, добавьте 2 (шага) к i. так что я 3. Выполните код с i = 3. Когда закончите, добавьте 2 (шага) к i. так что мне 5. Выполните код с i = 5. и т.п.

Вы могли бы хотя бы объяснить, что делает этот код.

Cjmarkham 04.11.2018 00:23

@CarlMarkham, если кому-то нужно объяснение, что такое цикл for и что он делает, возможно, это не лучшее место, чтобы задавать вопросы в

apokryfos 04.11.2018 00:35

@apokryfos SO - это место, где можно задать любой вопрос. То, что вам может показаться простым, может оказаться не таким простым для других. Вы всегда должны учитывать это при ответе и описывать, почему ваш код работает или почему он лучше всего. Простое предоставление кода никак не учит OP.

Cjmarkham 04.11.2018 01:30

@CarlMarkham, это цикл for. Это похоже на страницу 3 любого базового руководства на любом языке.

apokryfos 04.11.2018 01:43

Это альтернатива использованию функционального фильтра.

console.info(Array.from({length: 100}, (_, i) => i).filter(n => n % 2));

Вы могли бы хотя бы объяснить, что делает этот код.

Cjmarkham 04.11.2018 00:23

Ради усложнения:

The Array.from() method creates a new, shallow-copied Array instance from an array-like or iterable object.
...
Array.from() lets you create Arrays from:

  • array-like objects (objects with a length property and indexed elements) or
  • iterable objects (objects where you can get its elements, such as Map and Set).

- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

Вы можете вызвать Array.from для объекта со свойством длины и без других свойств для повторения n раз, где n - значение свойства длины. Второй аргумент Array.from - это обратный вызов, который вызывается на каждой итерации с элементом (undefined) и индексом. Возвращаемое значение обратного вызова - это значение, соответствующее индексу во вновь созданном массиве.

Мы можем умножить индекс на 2, а затем вычесть единицу, чтобы получить только нечетные значения, что означает, что мы можем начать с длины 50, а не повторять 100 раз, а затем повторять вновь созданный массив еще 100 раз, чтобы вернуть другой массив только с 50 элементами, как предлагается. в других ответах.

console.info(Array.from({ length: 50 }, (e, i) => (i * 2) + 1).join(' '))

Другие вопросы по теме