Найти тему
Simple Prog

Как разделить массив на куски в JavaScript

Оглавление

Вступление

Массивы – одна из самых часто используемых структур в JavaScript, поэтому важно знать её встроенные методы.

В этом уроке мы рассмотрим, как в JavaScript разделить массив на куски.

В частности, мы рассмотрим два подхода:

  1. Используя метод slice() и цикл for
  2. Используя метод splice() и цикл while
Javascript
Javascript

Делим массив с помощью метода slice()

Самый простой способ извлечь фрагмент массива или, скорее, разрезать его на части – это метод slice():

slice(start, end) – выводит часть массива между индексами start и end.

Примечание: индексы могут быть отрицательными целыми числами. Это значит, что они перечисляются с конца массива. -1 – последний элемент массива, -2 – предпоследний и так далее…

Массив выводит копию, это значит, что любые ссылки в исходном массиве будут скопированы как ест, а значит нам не нужно выделять память для новых объектов.

Итак, чтобы разделить список или массив на ровные куски, используем метод slice():

Фрагмент кода автора
Фрагмент кода автора

Результат будет следующим:

[[ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ], [ 10 ]]

В приведенном выше коде мы разбиваем arr на более мелкие фрагменты размером 3, повторяя массив и разрезая его на части. На последней итерации останется только один элемент (10).

Делим массив с помощью метода splice()

Несмотря на то, что метод splice() может показаться похожим на метод slice(), они всё же различаются. Сейчас покажем:

Фрагмент кода автора
Фрагмент кода автора

Результат:

[ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ] ]

Мы используем цикл while для обхода массива. На каждой итерации мы выполняем операцию сращивания и помещаем каждый фрагмент в результирующий массив до тех пор, пока в исходном массиве не останется больше элементов (arr.length > 0).

Заметьте, что splice() изменяет исходный массив, а slice() создаёт копию исходного массива, поэтому исходный массив остаётся без изменений.

Заключение

В этой статье мы рассмотрели несколько простых способов, как в JavaScript разбить список на фрагменты. Также мы узнали, как работать с методами slice() и splice().

Наука
7 млн интересуются