remove_repetition/index.js

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;