前端常用方法汇总(自用)

1.从一个对象数组中根据属性值大小排序

var compare = function(property, desc) {
    return function (a, b) {
        let value1 = a[property];
        let value2 = b[property];
        if (desc == true) {
            // 升序排列
            return value1 - value2;
        } else {
            // 降序排列
            return value2 - value1;
        }
    }
}
//调用示例
var sdts = [
    {name:"小明",age:30},
    {name:"小红",age:20},
    {name:"小花",age:40}
]
var newSdts = sdts.sort(compare("age",true))

2.格式化数字,显示千分符

        var toThousands = function (num) {
            var num = (num || 0).toString(), result = '';
            while (num.length > 3) {
                result = ',' + num.slice(-3) + result;
                num = num.slice(0, num.length - 3);
            }
            if (num) { result = num + result; }
            return result;
        }
        console.log(toThousands(789456123)) //789,456,123


        var changeNum = function(data) {
            data = data * 1
            var thisData = data.toLocaleString();
            return thisData
        }
        console.log(changeNum(789456123))  //789,456,123

3.格式化数字 万,亿(保留两位小数)

        var formatNumber = function (num) {
            var num = (num || 0), result = '';
            if(num > 100000000){
                result = (num / 100000000).toFixed(2) + '亿'; 
            }else if(num > 10000){
                result = (num / 10000).toFixed(2) + '万';
            }
            return result;
        }
        console.log(formatNumber(789456123)) //7.89亿

4.返回当前或n天前/n天后的日期

        var getDate = function(n,char) {
            if(n == 0 || !n){
                n = 0
            }else{
                n = n
            }
            if(char){
                char = char
            }else{
                char = "-"
            }
            let d = new Date();
            let year = d.getFullYear();
            let mon = d.getMonth() + 1;
            let day = d.getDate();
            if (day <= n) {
                if (mon > 1) {
                    mon = mon - 1;
                } else {
                    year = year - 1;
                    mon = 12;
                }
            }
            d.setDate(d.getDate() + n);
            year = d.getFullYear();
            mon = d.getMonth() + 1;
            day = d.getDate();
            s = year + char + (mon < 10 ? ('0' + mon) : mon) + char + (day < 10 ? ('0' + day) : day);
            return s;
        }
        console.log(getDate(-1,"/")) //2022/08/08
        console.log(getDate(0)) //2022-08-09
        console.log(getDate(1)) //2022-08-10

5.获取当前 完整时间(年-月-日 时:分:秒)

var nowDateTime = function() {
    let time = new Date();
    let year = time.getFullYear()
    let months = time.getMonth() + 1;
    let dates = time.getDate();
    let day = time.getDay(); //星期
    let hs = time.getHours();
    let ms = time.getMinutes();
    let ss = time.getSeconds();
    let month = function () {
        if (months >= 10) {
            return months
        } else {
            return '0' + months
        }
    }
    let date = function () {
        if (dates >= 10) {
            return dates
        } else {
            return '0' + dates
        }
    }
    let h = function () {
        if (hs >= 10) {
            return hs
        } else {
            return '0' + hs
        }
    }
    let m = function () {
        if (ms >= 10) {
            return ms
        } else {
            return '0' + ms
        }
    }
    let s = function () {
        if (ss >= 10) {
            return ss
        } else {
            return '0' + ss
        }
    }
    return year + "-" + month() + "-" + date() + " " + h() + ":" + m() + ":" + s(); //2022-08-09 15:40:42
}

后续持续添加

posted @ 2022-08-09 15:43  卖皮卡丘的小小皮卡  阅读(71)  评论(0)    收藏  举报