Инициализация массива с использованием цикла while

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим концепцию инициализации и заполнения массива значениями, сгенерированными функцией, при условии, что оно выполняется. Мы будем использовать функцию initializeArrayWhile, которая принимает в качестве аргументов две функции: функцию условия и функцию отображения. Это практическое занятие поможет вам понять, как создавать настраиваемый массив на основе определенного условия и функции отображения.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") subgraph Lab Skills javascript/variables -.-> lab-28392{{"Инициализация массива с использованием цикла while"}} javascript/data_types -.-> lab-28392{{"Инициализация массива с использованием цикла while"}} javascript/arith_ops -.-> lab-28392{{"Инициализация массива с использованием цикла while"}} javascript/comp_ops -.-> lab-28392{{"Инициализация массива с использованием цикла while"}} javascript/loops -.-> lab-28392{{"Инициализация массива с использованием цикла while"}} end

Как инициализировать и заполнить массив с использованием цикла while в JavaScript

Для начала практики программирования на JavaScript откройте Терминал/SSH и введите node.

Функция initializeArrayWhile инициализирует и заполняет массив значениями, сгенерированными функцией, при условии, что оно выполняется. Вот, как это работает:

  1. Создайте пустой массив под названием arr, переменную индекса под названием i и элемент под названием el.
  2. Используйте цикл while, чтобы добавлять элементы в массив с использованием функции mapFn, пока функция conditionFn возвращает true для заданного индекса i и элемента el.
  3. Функция conditionFn принимает три аргумента: текущий индекс, предыдущий элемент и сам массив.
  4. Функция mapFn принимает три аргумента: текущий индекс, текущий элемент и сам массив.
  5. Функция initializeArrayWhile возвращает массив.

Вот код:

const initializeArrayWhile = (conditionFn, mapFn) => {
  const arr = [];
  let i = 0;
  let el = mapFn(i, undefined, arr);
  while (conditionFn(i, el, arr)) {
    arr.push(el);
    i++;
    el = mapFn(i, el, arr);
  }
  return arr;
};

Вы можете использовать функцию initializeArrayWhile для инициализации и заполнения массива значениями. Например:

initializeArrayWhile(
  (i, val) => val < 10,
  (i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2])
); // [1, 1, 2, 3, 5, 8]

Резюме

Поздравляем! Вы завершили практическое занятие "Инициализация массива с использованием цикла while". Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.