项目常用JS方法封装

常用JS方法封装

判断值类型的方法

type = parm => {
    return Object.prototype.toString.call(parm).match(/\[([^]*)\]/)[1].split(" ")[1]
}
使用方法: type(你想检测的值)

数组排序UP升

升序:
    ArraySortingUp = arr => {
    for (let i = 0; i < arr.length - 1; i++) {
        for (let j = 0; j < arr.length - 1 - i; j++) {
        if (arr[j] > arr[j + 1]) {
            let temp = arr[j + 1];
            arr[j + 1] = arr[j];
            arr[j] = temp;
            }
        }
    }
    return arr;
}
使用方法:ArraySortingUp(你想排序的数组)

数组排序DOWN降

降序:
    ArraySortingDown = arr => {
    for (let i = 0; i < arr.length - 1; i++) {
        for (let j = 0; j < arr.length - 1 - i; j++) {
        if (arr[j] < arr[j + 1]) {
            let temp = arr[j + 1];
            arr[j + 1] = arr[j];
            arr[j] = temp;
            }
        }
    }
        return arr;
}
使用方法:ArraySortingDown(你想排序的数组)

数组去重

ArrayDeleteDuplicates = arr => {
let newArr = [];
let m = {};
for (let i = 0; i < arr.length; i++) {
        let n = arr[i];
        if (m[n]) {
        } else {
            newArr.push(arr[i]);
            m[n] = true;
        }
    }
        return newArr;
}
使用方法:ArrayDeleteDuplicates(你想去重的数组)

统计数组中各个元素出现的次数

staArrNum = arr => {
let obj = {};
for (let i = 0; i < arr.length; i++) {
        let m = arr[i];
        if (obj.hasOwnProperty(m)) {
            obj[m] += 1;
        } else {
        obj[m] = 1;
        }
    }
        return obj;
}
使用方法:staArrNum(统计数组)

时间戳转化成YMD格式

let date = Date.parse(new Date()) //  获取当前时间戳(毫秒)

    dateFormat = (timestamp, formats) => {
    // formats格式包括
    // 1. Y-m-d
    // 2. Y-m-d H:i:s
    // 3. Y年m月d日
    // 4. Y年m月d日 H时i分
    formats = formats || 'Y-m-d';
    let zero = function (value) {
        if (value < 10) {
        return '0' + value;
        }
        return value;
    };
    let myDate = timestamp ? new Date(timestamp) : new Date();
    let year = myDate.getFullYear();
    let month = zero(myDate.getMonth() + 1);
    let day = zero(myDate.getDate());
    let hour = zero(myDate.getHours());
    let minite = zero(myDate.getMinutes());
    let second = zero(myDate.getSeconds());

return formats.replace(/Y|m|d|H|i|s/ig, function (matches) {
        return ({
        Y: year,
        m: month,
        d: day,
        H: hour,
        i: minite,
        s: second
        })[matches];
    });
};

    console.log(dateFormat(date,'Y-m-d H:i:s'));
使用方法:dateFormat(时间戳,时间格式)

存储 sessionStorage

setItem = (name, content) => {
if (!name) return;
if (typeof content !== 'string') {
    content = JSON.stringify(content);
}
    window.sessionStorage.setItem(name, content);
};
使用方法:setItem(名字,内容)

获取 sessionStorage

getItem = name => {
    if (!name) return;
    return window.sessionStorage.getItem(name);
};
使用方法:getItem(名字)

删除 sessionStorage

removeItem = name => {
    if (!name) return;
    window.sessionStorage.removeItem(name);
};
使用方法:removeItem(名字)

去除内容中的空格

 deblank = str => {
    str = str.replace(/\s*/g, '');
    return str;
};
使用方法:deblank(字符串文本)

文件导出

checkoutFile = (fileName, response) => {
    let blob = new Blob([response], { type: 'application/vnd.ms-excel' });
    let objectUrl = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.setAttribute('href', objectUrl);
    a.setAttribute('download', fileName);
    a.click();
    URL.revokeObjectURL(objectUrl);
};
使用方法:checkoutFile(文件名,文件网址)

取限定范围内的随机数

function getRandom(integer, size) {
        let arr = [];
        function count() {
            if (arr.length < size) {
                let n = Math.round(Math.random() * integer);
                if(!arr.includes(n)) {
                    arr.push(n)
                }
                count()
            }
        }
        count()
        return arr
    }
使用方法:getRandom(100, 10)  // 随机取出0-100以内10位数字

字符串加密方法

function compileStr (code) { // 对字符串进行加密 
                var c = String.fromCharCode(code.charCodeAt(0) + code.length);  
                for(var i = 1; i < code.length; i++){        
                    c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1));  
                }     
                return escape(c);
}
使用方法:compileStr(需要加密的字符串)

字符串解密方法

function uncompileStr (code) { // 字符串进行解密 
            code = unescape(code);        
            var c = String.fromCharCode(code.charCodeAt(0)-code.length);        
            for(var i = 1; i < code.length; i++){        
                c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1));        
            }        
            return c;
    }
使用方法:uncompileStr(需要解秘的字符串);
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 XueLong Wang
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信