js常用数据整合方法

2022-07-22  本文已影响0人  O蚂蚁O

1、数值千分位

/**
 * 数值千分位,截取(不进行四舍五入)
 * @param {number & string} num
 * @param {number} floatNum 保留小数位,默认整数
 * @param {string} symbol 空值占位符
 */
export function formatMoney(num, floatNum = 0, symbol = '') {
  if (parseFloat(num) >= 0) {
    const arr = parseFloat(num).toString().split('.')
    arr[1] = arr[1] || ''
    const reg = /\d{1,3}(?=(\d{3})+$)/g
    return floatNum > 0 ? `${arr[0].toString().replace(reg, '$&,')}.${arr[1].substring(0, 2).padEnd(floatNum, '0')}` : arr[0]
  } else {
    return symbol
  }
}

2、去除对象中的空值的属性

  filterParams(obj) {
    var _newPar = {}
    for (var key in obj) {
      if ((obj[key] === 0 || obj[key] === false || obj[key]) && obj[key].toString().replace(/(^\s*)|(\s*$)/g, '') !== '') {
        _newPar[key] = obj[key]
      }
    }
    return _newPar
  },

3、 // url参数

  getQueryString(name) {
    const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i');
    const r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
  },

4、 // 剔除参数

  delParam(paramKey) {
    var url = window.location.href; // 页面url
    var urlParam = window.location.search.substr(1); // 页面参数
    var beforeUrl = url.substr(0, url.indexOf("?")); // 页面主地址(参数之前地址)
    var nextUrl = "";

    var arr = []
    if (urlParam != "") {
      var urlParamArr = urlParam.split("&"); // 将参数按照&符分成数组
      for (var i = 0; i < urlParamArr.length; i++) {
        var paramArr = urlParamArr[i].split("="); // 将参数键,值拆开
        // 如果键雨要删除的不一致,则加入到参数中
        if (paramArr[0] != paramKey) {
          arr.push(urlParamArr[i]);
        }
      }
    }
    if (arr.length > 0) {
      nextUrl = "?" + arr.join("&");
    }
    url = beforeUrl + nextUrl;
    return url;
  },
上一篇 下一篇

猜你喜欢

热点阅读