手写loadsh函数的第一天
<script>
// 原始数组
const arr = [1, 2, 3, 4, 5, 6, 7];
// 定义一个函数来将数组分割成指定大小的块
function chunk(array, size = 1) {
// 如果指定的分割大小大于数组长度,显示警告并返回
if (size > array.length) {
alert("您要分割的值太大了");
return;
}
// 如果指定的分割大小小于等于零,显示警告并返回
if (size <= 0) {
alert("分割的值不能小于0,或者等于零");
return;
}
// 用于存储分割后的新数组块
const newArr = [];
// 计算需要分割成多少个数组块
let newsize = Math.ceil(arr.length / size);
// 定义一个变量来追踪当前遍历的起始位置
let jqk = 0;
// 循环创建新的数组块
for (var i = 1; i <= newsize; i++) {
// 定义一个临时数组用来存储当前块的元素
const arr = [];
// 计算当前块的结束位置
let qka = jqk + size;
// 遍历原始数组,将元素添加到当前块中
for (let j = jqk; j < qka; j++) {
// 只有当原始数组的第 j 个值不是 undefined 时才添加到当前块
if (array[j] != undefined) {
// 将元素添加到当前块
arr.push(array[j]);
// 更新起始位置
jqk += 1;
}
}
// 将当前块添加到新数组中
newArr.push(arr);
}
// 返回分割后的新数组
return newArr;
}
// 调用函数并打印结果,分割大小为 1
console.log(chunk(arr, 1));
</script>