簡體   English   中英

將數組拆分為大小均勻的 arrays

[英]Split array into evenly sized arrays

我需要將一個數組分成 3 個偶數 arrays。 到目前為止,我只找到了分塊到指定數組長度的示例。 例如:

var array = [1,2,3,4,5];
const results = [];

while (array.length) {
  results.push(array.splice(0, 3));
}

return results; //returns [1,2,3],[4,5]

所以如果我有array = [1,2,3,4,5] (或任何其他長度)

我需要將其拆分為[1,2], [3,4], [5]

有任何想法嗎?

通過將長度除以 3 來計算塊的大小:

 var array = [1,2,3,4,5]; const results = []; const chunkSize = Math.ceil(array.length / 3); while (array.length) { results.push(array.splice(0, chunkSize)); } console.log(results);

您可以對數組進行切片並使用大小來添加所需的長度。

這種方法不會改變給定的數據。

 var array = [1, 2, 3, 4, 5], results = [], size = Math.ceil(array.length / 3), i = 0; while (i < array.length) results.push(array.slice(i, i += size)); console.log(results);
 .as-console-wrapper { max-height: 100%;important: top; 0; }

試試這個在這個你需要提供一個塊的數量

 const arr = [1,2,3,4,5]; const chunk = (input, nos) => { let size = Math.ceil(input.length/nos); return input.reduce((arr, item, idx) => { return idx % size === 0? [...arr, [item]]: [...arr.slice(0, -1), [...arr.slice(-1)[0], item]]; }, []); }; console.log(chunk(arr, 3));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM