Автор оригинала: Abhilash Kakumanu.
Вступление
Массивы являются одним из наиболее часто используемых структур в программировании JavaScript, поэтому важно знать его встроенные методы, такие как задняя часть вашего кармана.
В этом руководстве мы посмотрим на Как разделить массив в куски N
Размер в JavaScript Отказ
В частности, мы посмотрим на два подхода:
- Используя
ломтик ()
Метод идля
петля - Используя
Сращивание ()
Метод ив то время как
петля
Разделение массива в четные куски, используя метод 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. При этом мы узнали, как работать с парой встроенных методов массива, таких как ломтик ()
и Сращивание ()
Отказ