Parcourir la source

Merge remote-tracking branch 'origin/development' into development

congxuesong il y a 1 mois
Parent
commit
f2420cb434
1 fichiers modifiés avec 38 ajouts et 0 suppressions
  1. 38 0
      src/groupUtils/groupFirstUtils.js

+ 38 - 0
src/groupUtils/groupFirstUtils.js

@@ -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]]
+}