Рубрики
Без рубрики

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

В этом уроке мы посмотрим, как разделить массив или перечислять даже кусочки N размера в JavaScript, используя ломтик () и SPLICE () с примерами.

Автор оригинала: Abhilash Kakumanu.

Вступление

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

В этом руководстве мы посмотрим на Как разделить массив в куски N Размер в JavaScript Отказ

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

  1. Используя ломтик () Метод и для петля
  2. Используя Сращивание () Метод и в то время как петля

Разделение массива в четные куски, используя метод Slice ()

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

Ломтик (начало, конец) – возвращает часть вызываемого массива между Начать и конец Индексы.

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

Массив, возвращенный ломтик () Возвращает неглубокую копию, что означает, что любые ссылки в исходном массиве просто будут скопированы как есть, и не выделит память для совершенно новых объектов.

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

function sliceIntoChunks(arr, chunkSize) {
    const res = [];
    for (let i = 0; i < arr.length; i += chunkSize) {
        const chunk = arr.slice(i, i + chunkSize);
        res.push(chunk);
    }
    return res;
}

const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
console.log(sliceIntoChunks(arr, 3));

Запуск вышеуказанного кода дает следующий выход:

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

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

Расщепление массива в четные куски, используя метод Splice ()

Несмотря на то, что Сращивание () Метод может показаться похожим на ломтик () Метод, его использование и побочные эффекты очень разные. Давайте посмотрим смотреть:

// Splice does the following two things:
// 1. Removes deleteCount elements starting from startIdx (in-place)
// 2. Inserts the provided new elements (newElem1, newElem2...) into myArray starting with index startIdx (also in-place)
// The return value of this method is an array that contains all the deleted elements
myArray.splice(startIdx, deleteCount, newElem1, newElem2...)

let arrTest = [2, 3, 1, 4]
let chunk = arrTest.splice(0,2)
console.log(chunk) // [2, 3]
console.log(arrTest) // [1, 4]

Давайте посмотрим на это в действии через пример кода:

function spliceIntoChunks(arr, chunkSize) {
    const res = [];
    while (arr.length > 0) {
        const chunk = arr.splice(0, chunkSize);
        res.push(chunk);
    }
    return res;
}

const arr = [1, 2, 3, 4, 5, 6, 7, 8];
console.log(spliceIntoChunks(arr, 2));

Запуск этого кода дает:

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

Здесь мы используем в то время как петля для прохождения массива. В каждой итерации мы выполняем операцию сплайсинга и нажимайте каждый кусок в результирующий массив, пока в исходном массиве больше не будет больше элементов ( ARR.LENGHING> 0 ).

Очень важно отметить, что Сращивание () Изменяет оригинальный массив. где как ломтик () Создает копию исходного массива, поэтому в исходном использовании не будет никаких изменений.

Заключение

В этой статье мы проходили пару легких способов разделить список в четные куски в JavaScript. При этом мы узнали, как работать с парой встроенных методов массива, таких как ломтик () и Сращивание () Отказ