count_down/index.js

/**
 * 功能:金钱相关特殊字符数组排数
 * @param {array} arr - 目标数组 成员为数组或者字符串
 * @param {string} targets - 标记分隔符例如:','
 * @returns {array} - 数组,如果没有满足执行函数return 值的函数规则时 返回空数组
 */

function count_down(arr, targets) {
    function task(tarData, tars) {
      return tarData.indexOf(tars) == "-1" ? "0" : tarData.indexOf(tars);
    }
    var newArr = [];
    arr.forEach((item) => {
      newArr[task(item, targets)] = newArr[task(item, targets)]
        ? newArr[task(item, targets)]
        : [];
      newArr[task(item, targets)].push(item);
    });
    for (let i = 0; i < newArr.length; i++) {
      newArr[i].sort((a, b) => {
        a = a.split(targets).join("");
        b = b.split(targets).join("");
        return a - b;
      });
    }
    return newArr.reduce((pre, cur) => {
      return pre.concat(cur);
    }, []);
  }
  export default count_down;