import cavar_type from '../cavar_type'
/**
* 功能:普通数组拆分为二维数组 返回一个包围区块的新数组
* @param {array} arr - 目标数组
* @param {number} [arrNum] - default is 2,拆分成二维数组的每一个数组的成员个数
* @returns {array} - 返回处理后的二维数组
*/
// 6. 普通数组拆分为二维数组 返回一个包围区块的新数
// 1. arr[必传值] Array
// 2. arrNum number default is 2,拆分成二维数组的每一个数组的成员个数
function chunk_towArray(arr, arrNum = 1) {
arr = remove_repetition(arr);
const arr_task = cavar_type(arr);
const arr_num_task = cavar_type(arrNum);
let chunk_arr = [];
let task_num = arr.length / arrNum;
function execute_function(task) {
// 创建数组对象
for (let index = 0; index < task; index++) {
chunk_arr[index] = [];
for (
let item_index = index * arrNum;
item_index < arr.length;
item_index++
) {
if (chunk_arr[index].length < arrNum) {
chunk_arr[index].push(arr[item_index]);
}
}
// chunk_arr[index] = [...new Set(chunk_arr[index])]; // 每次去重
}
}
if (arr_task === "array" && arr_num_task === "number") {
if (Number.isInteger(task_num)) {
execute_function(task_num);
} else {
let task = ("" + task_num).split(".");
execute_function(+task[0] + 1);
}
return chunk_arr;
} else {
let type_num;
if (arr_task !== "array" && arr_num_task !== "number") {
type_num = "arguments";
} else if (arr_task !== "array") {
type_num = "first";
} else {
type_num = "second";
}
return console.error(
new Error(
"chunk: " +
type_num +
" parameter " +
"is " +
"other, " +
"But To give you one empty Array Data" +
" you is sb"
)
);
}
}
export default chunk_towArray