Разделение на части

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

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

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

Введение

В этом практическом занятии мы изучим, как разбить массив на более мелкие массивы заданного размера с использованием JavaScript. Мы будем использовать методы Array.from() и Array.prototype.slice() для создания нового массива, содержащего указанное количество частей. Также мы узнаем, как обрабатывать ситуации, когда исходный массив не может быть разделен равномерно.


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") subgraph Lab Skills javascript/variables -.-> lab-28621{{"Разделение на части"}} javascript/data_types -.-> lab-28621{{"Разделение на части"}} javascript/arith_ops -.-> lab-28621{{"Разделение на части"}} javascript/comp_ops -.-> lab-28621{{"Разделение на части"}} end

Как разбить массив на части заданного размера

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

Чтобы разбить массив на более мелкие массивы заданного размера, следуйте этим шагам:

  1. Используйте Array.from(), чтобы создать новый массив, соответствующий количеству частей, которые будут получены.
  2. Используйте Array.prototype.slice(), чтобы сопоставить каждый элемент нового массива с частью длиной size.
  3. Если исходный массив не может быть разделен равномерно, последняя часть будет содержать оставшиеся элементы.

Вот пример кода:

const chunk = (arr, size) =>
  Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>
    arr.slice(i * size, i * size + size)
  );

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

chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]

Резюме

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