import cavar_type from "../cavar_type";
/**
* 功能:数组去重 只针对数组进行去重 且可以对成员进行去重处理,默认不处理
* @param {array|object} arr - 执行函数
* @param {Object} [task] - 内部并没有严格使用该参数 后期会使用当前参数进行完善
* @returns {array|object} - 去重后的数组对象
*/
function remove_repetition(arr, task = { dep: false }) {
const task_arr = cavar_type(arr);
if (task_arr === "array" && cavar_type(task) === "object") {
const { dep } = task;
if (dep) {
// 再此调用对象或数组处理函数进行循环递归
return [...new Set(arr)];
} else {
return [...new Set(arr)];
}
} else {
console.error(
new Error(
"remove_repetition: first" +
" parameter " +
"is " +
"not Array," +
" you is sb"
)
);
return [];
}
}
export default remove_repetition;