博客
关于我
原生 JS 封装的一些方法 【更新中...】
阅读量:347 次
发布时间:2019-03-04

本文共 4059 字,大约阅读时间需要 13 分钟。

/** * ----------- 使用说明 ---------------- * getNowDate: 获取当前日期 和 时间 * getDynamicDate: 获取动态日期 和 时间 * unique: 数组去重 ES6 * unique_: 数组去重 ES5 * toFormat: 实现数字千分位 * deepCopy: 深拷贝 * getDataType: 获取数据类型 * getDeviceType: 获取当前设备类型 * ascArray: 数组 升序 * desArray: 打乱 数组 * upsetArray: 获取数组中的 最大值 * maxArrayVal: 获取数组中的 最小值 * minArrayVal: 获取数组中的 最小值 * ------------------------------------ */const COMMON = {       /**     * 获取当前设备类型     * @returns 返回一个 String     */    getDeviceType: function() {         var deviceType = 'WEB' //其他      var u = navigator.userAgent      var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1       var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)       if (isAndroid) {           deviceType = 'Android'      } else if (isiOS) {           deviceType = 'IOS'      }      return deviceType;    },    /**     * 数组 升序     * @param { Array } arr 数组     * @returns      */    ascArray: function(arr) {         var arr = arr || [];      arr.sort(function(a,b) {           return a - b;      })      return arr;    },    /**     * 数组 降序     * @param { Array } arr 数组     * @returns      */    desArray: function(arr) {         var arr = arr || [];      arr.sort(function(a,b) {           return b - a;      })      return arr;    },    /**     * 打乱 数组     * @param { Array } arr 数组     * @returns 打乱后的数组     */    upsetArray: function(arr) {         var arr = arr || [];      arr.sort(function(a,b) {           return Math.random() - 0.5;      })      return arr;    },    /**     * 获取数组中的 最大值     * @param { Array } arr 数组      * @returns 返回一个 数组里最大的 元素 Number     */    maxArrayVal: function(arr) {         return Math.max.apply(null, arr);    },      /**     * 获取数组中的 最小值     * @param { Array } arr 数组      * @returns 返回一个 数组里最大的 元素 Number     */    minArrayVal: function(arr) {         return Math.min.apply(null, arr);    },    /**     * 获取动态日期 和 时间     * @param { String } param 是一个 id 名称     */    getDynamicDate: function(param) {         let obj = document.getElementById(param);      setInterval(() => {           obj.innerHTML = COMMON.getNowDate()      }, 1000);    },    /**     * 获取当前日期 和 时间     * @returns 返回一个字符串 2021-03-10 23:44:38     */    getNowDate: function() {           var date = new Date();        var year = date.getFullYear(),            month = date.getMonth() + 1,            day = date.getDate(),            hour = date.getHours(),            minute = date.getMinutes(),            second = date.getSeconds();        var fill = function (num) {               num = num.toString();            return num.padStart(2, '0') // 为个位数时 补充前面的零        }        var currentdate = year + '-' + fill(month) + '-' + fill(day) + ' ' + fill(hour) + ':' + fill(minute) + ':' + fill(second);        return currentdate;    },    /**     * 数组去重 ES6     * @param { Array } 数组类型     * @returns 返回一个去重后的新数组     */    unique: function(arr) {           return [...new Set(arr)];    },    /**     * 数组去重 ES5     * @param { Array } 数组类型     * @returns 返回一个去重后的新数组     */    unique_: function(arr) {           if (Array.isArray(arr)) {               return arr.filter((item, index, array) => array.indexOf(item) === index);        }    },    /**     * 实现数字千分位     * @param { Number } 10000000     * @returns 返回一个字符串 10,000,000     */    toFormat: function(num) {         num = Number(num);      return num.toLocaleString();    },    /**     * 深拷贝     * @param { Object } params      * @returns Object     */    deepCopy: function(params) {         var obj;      if (typeof params === 'object') {           if (Array.isArray(params)) {             obj = [];          for (var i = 0; i < params.length; i++) {               obj.push(arguments.callee(params[i]))          }        } else {             obj = {   };          for (var c in params) {               obj[c] = arguments.callee(params[c]);          }        }      } else {    return params; }      return obj;    },    /**     * 获取数据类型     * @returns 数据类型     */    getDataType: function(params) {         return Object.prototype.toString.call(params).slice(8, -1);    }}

转载地址:http://tqir.baihongyu.com/

你可能感兴趣的文章
CommonJs
查看>>
Unicode编码和Base64编码
查看>>
手动搭建一个https服务器,并颁发证书
查看>>
html基础
查看>>
sql crud
查看>>
ICMP网际控制报文协议
查看>>
[编程题]Course List for Student (25)
查看>>
Python【面向对象】1
查看>>
【Python】面向对象2:之抽象基类:import abc,metaclass=abc.ABCMeta
查看>>
【Python】面向对象,封装
查看>>
接口又是个啥?
查看>>
JS中如何创建对象
查看>>
二叉树的基础练习题代码
查看>>
(JAVA小白必看)小白IDEA的安装与配置
查看>>
SpringMVC模板代码
查看>>
第三届“传智杯”全国大学生IT技能大赛练习赛-题解
查看>>
数据结构实验四 查找和排序算法实现
查看>>