
原生 JS 封装的一些方法 【更新中...】
发布日期:2021-05-07 18:31:14
浏览次数:10
分类:原创文章
本文共 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); }}
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年03月19日 17时17分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java稀疏数组
2019-03-04
全球数字货币加快研发
2019-03-04
数字化助力金融科技,实现产业良性循环
2019-03-04
2020-11-23(彻底理解KMP)
2019-03-04
常用的IDC函数
2019-03-04
BUUCTF 新年快乐 内涵的软件 Java逆向解密 刮开有奖
2019-03-04
angr学习笔记(7)(malloc地址单元符号化)
2019-03-04
angr学习笔记(9)(添加约束)
2019-03-04
angr学习笔记(13)(static_binary)
2019-03-04
windows环境利用start命令实现微信多开
2019-03-04
「CF149D」括号涂色 区间DP好题
2019-03-04
树状数组 模板总结
2019-03-04
「NOI2015」程序自动分析 并查集题解
2019-03-04
[JSOI2008]Blue Mary的战役地图 Hash题解
2019-03-04
Ubuntu修改终端上显示的用户名和主机名(详细步骤)
2019-03-04
教你写一手漂亮的伪代码(详细规则&简单实例)
2019-03-04
结构型设计在工作中的一些经验总结
2019-03-04
如何提升员工体验 助力企业业务增长?这个棘手的问题终于被解决了!
2019-03-04
全球首个!阿里云开源批流一体机器学习平台Alink……
2019-03-04
红点中国、红杉中国联合领投,WakeData惟客数据完成1000万美元B轮融资
2019-03-04