JS 转化方法总结

一. 日期相关方法

请参考: JavaScript Date 对象方法总结

二. 删除数组某个指定元素
deleteItem(arr, item) { // arr: 原数组; item: 要删除的元素
    let _hasItem = arr.indexOf(item);
    let _index;

    if (_hasItem !== -1) {
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] === item) {
                _index = i;
            }
        }
        arr.splice(_index, 1);
    }
}
三. 千分符转化
// s: 需要处理的数字; n: 要保留的小数位数
money(s, n) {
    let l, r, t = '';

    n = n > 0 && n <= 20 ? n : 2;
    s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
    l = s.split('.')[0].split('').reverse();
    r = s.split('.')[1];
    for (let i = 0; i < l.length; i++) {
        t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ',' : '');
    }

    return t.split('').reverse().join('') + '.' + r;
}
四. 添加千分符并保留两位小数
function thousandsSeparator(v) {
    let re = /\d{1,3}(?=(\d{3})+$)/g;
    let newV;
    if (v < 0) {
        v = -v;
        v = v.toFixed(2);
        newV = v.toString().replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) {
            return s1.replace(re, '$&,') + s2;
        });
        newV = '-' + newV;
    } else {
        v = v.toFixed(2);
        newV = v.toString().replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) {
            return s1.replace(re, '$&,') + s2;
        });
    }
    return newV;
}
五. 经纬度转化为度分秒
// i=0-度°, i=1-分, i=2-秒
function formateLocation(v, i) {
    if (v !== '') {
        v = String(v);
        let str1 = v.split('.');
        let du = str1[0];
        let tp = '0.' + str1[1];
        tp = String(tp * 60);
        let str2 = tp.split('.');
        let fen = str2[0];
        tp = '0.' + str2[1];
        let miao = Math.round(tp * 60);
        if (i == 0) {
            return du;
        } else if (i == 1) {
            return fen;
        } else if (i == 2) {
            return miao;
        }
    } else {
        return '';
    }
}

实例

// 获取定位(经纬度)
getPos() {
    this.getPosWord = '重新获取';
    // console.log(this.locationInfo);
    let lati = this.locationInfo.latitude || '';// 纬度
    let longi = this.locationInfo.longitude || '';// 经度
    this.result.northDegree = formateLocation(lati, 0);
    this.result.northMinute = formateLocation(lati, 1);
    this.result.northSecond = formateLocation(lati, 2);
    this.result.eastDegree = formateLocation(longi, 0);
    this.result.eastMinute = formateLocation(longi, 1);
    this.result.eastSecond = formateLocation(longi, 2);
},
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值