|
@@ -0,0 +1,38 @@
|
|
|
|
|
+//
|
|
|
|
|
+// 数组分解方法一
|
|
|
|
|
+export function chunkFirstArray(array, size) {
|
|
|
|
|
+ const result = [];
|
|
|
|
|
+ for (let i = 0; i < array.length; i += size) {
|
|
|
|
|
+ result.push(array.slice(i, i + size));
|
|
|
|
|
+ }
|
|
|
|
|
+ return result;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 数组分解方法二
|
|
|
|
|
+function chunkSecondArray(array, size) {
|
|
|
|
|
+ return Array.from(
|
|
|
|
|
+ {
|
|
|
|
|
+ length: Math.ceil(array.length / size)
|
|
|
|
|
+ },
|
|
|
|
|
+ (_, index) => array.slice(index * size, (index + 1) * size)
|
|
|
|
|
+ );
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 数组分解总测试
|
|
|
|
|
+function chunkArrayTest() {
|
|
|
|
|
+ const unevenArr = [1, 2, 3, 4, 5, 6, 7];
|
|
|
|
|
+ const unevenChunked = chunkFirstArray(unevenArr, 3);
|
|
|
|
|
+ // 结果:
|
|
|
|
|
+ // [[1, 2, 3],
|
|
|
|
|
+ // [4, 5, 6],
|
|
|
|
|
+ // [7]]
|
|
|
|
|
+
|
|
|
|
|
+ //
|
|
|
|
|
+ // 使用示例
|
|
|
|
|
+ const arr = [1, 2, 3, 4, 5, 6, 7, 8];
|
|
|
|
|
+ const chunked = chunkSecondArray(arr, 3);
|
|
|
|
|
+ // 结果:
|
|
|
|
|
+ // [[1, 2, 3],
|
|
|
|
|
+ // [4, 5, 6],
|
|
|
|
|
+ // [7, 8]]
|
|
|
|
|
+}
|