1.2.3 • Published 2 years ago
common-methods v1.2.3
common-methods
安装
npm i common-methods
页面引入
import exModel from 'common-methods';
//调用方法
exModel.objEx();
//Vue全局调用
Vue.prototype.exModel = exModel;
this.exModel.objEx()
//ES6模块调用
<script type="module">
import exModel from 'common-methods';
exModel.objEx();
</script>
使用
- 数据扁平化
- 字符串去除换行符 \n
- 日期/星期 范围获取
- 字符串换行
- 获取时间戳串
- 时间戳转换日期
- 解析地址
- 判断是否是日期
- 判断是否为数字
- 判断是否为中文
- 判断是否为空
- 判断是否为字符串
- 判断是否为Function
- 删除字符串左右两端的空格
- 判断是否是邮箱
- 判断对象中是否有空值 返回新对象
- 判断是否是数组
- 对象深拷贝
- 判断两个对象是否相同
数据扁平化
定义: 将一个多层嵌套的Object对象数据通过数据偏平处理模型扁平化
方法: objEx(obj, model)
参数:
@param {object} obj 对象数据 @param {object} model 数据偏平处理模型,d为当前数据 例如 { uuid: 'd.uuid' }
例:
objEx( {a: 1, b: 2, c: { c1: 3}, d: { d1: {d2 : 4} }}, {a: 'd.a', b: 'd.b', c1: 'd.c.c1', d: 'd.d.d1.d2'} ) //输出 {a: 1, b: 2, c1: 3, d: 4}
方法: arrEx(arr, model)
参数:
@param {arr} arr 数组数据([{}]) @param {object} model 数据偏平处理模型,d为数组中Object元素 例如 { uuid: 'd.uuid' }
例:
objEx( [{a: 1, b: 2, c: { c1: 3}, d: { d1: {d2 : 4} }}, {a: 1, b: 2, c: { c1: 3}, d: { d1: {d2 : 4} }}], {a: 'd.a', b: 'd.b', c1: 'd.c.c1', d: 'd.d.d1.d2'} ) //输出 [{a: 1, b: 2, c1: 3, d: 4}, {a: 1, b: 2, c1: 3, d: 4}]
字符串去除换行符 \n
方法: legend(str)
参数
@param {string} value 字符串
例:
legend('你好,\n这个世界'); //输出 '你好,这个世界'
日期/星期 范围获取
获取当前日期或者指定日期, 前/后 n 天 日期或者星期
方法: getDay(date, day, isYear, isAround)
参数
@param {string} date 日期 格式 '2021/05/06' 默认 当天 @param {number} day 天数 默认7天 @param {object} format 格式 {week: 1, date: 'YYYY-mm-dd'} 1 => 周日 2 => 星期日 @param {boolean} isAround 前或后 前 => true 后 => false 默认 true
例:
getDay(); //输出 { dateArray: ["2021-05-05", "2021-05-06", "2021-05-07", "2021-05-08", "2021-05-09", "2021-05-10", "2021-05-11"], weekArray: ["周三", "周四", "周五", "周六", "周日", "周一", "周二"] } getDay(new Date(), 7, {week: 2, date: 'YYYY年mm月dd日'}) //输出 { dateArray: ["2021年05月05日", "2021年05月06日", "2021年05月07日", "2021年05月08日", "2021年05月09日", "2021年05月10日", "2021年05月11日"] weekArray: ["星期三", "星期四", "星期五", "星期六", "星期日", "星期一", "星期二"] }
字符串换行
方法: textN(str, num)
参数
@param {string} value 字符 @param {number} num 在第n个字符换行
例:
textN('你好,这个世界', 3); //输出 `你好, 这个世 界`
获取时间戳串
方法: timeStamp(date)
参数
@param {string} date 日期
例:
timeStamp('2021/02/28'); //输出 1614441600000
时间戳转换日期
方法: utcToDate(utcDate, type)
参数
@param {Number, String} utcDate 对应时间到 1970 年 1 月 1 日 的毫秒数 @param {String} type 类型格式 'ymd','hms', 'ymdhms' @returns {String} yyyy-mm-dd hh:mm:ss / yyyy-mm-dd / hh:mm:ss
例:
utcToDate(1620482068000, 'ymdhms'); //输出 2021-05-08 21:54:28
解析地址
方法: parseUrl(url)
参数
@param {String} url 地址字符串 exam: http://localhost:8080/page/login?name=测试&id=1 @returns {Object} obj 返回地址信息 exam: { name: '测试', id: 1 }
例:
parseUrl(http://localhost:8080/page/login?name=测试&id=1) //输出 {name: "测试", id: "1"}
检验是否是日期
方法: isDate(date)
参数
param {any} datestr
例:
isDate('123123') // false isDate('2021/05/06') // true
是否为数字
方法: isNumber(num)
参数
@param {any} num
例:
isNumber(12312); //输出 true
是否为中文
方法: isChinese(str)
参数
@param {any} str
例:
isChinese('我爱中国'); isChinese('台湾是中国不可分割的领土'); //输出 true
判断是否为空
方法: isEmpty(str)
参数
@param {any} str
例:
isEmpty(''); //输出 true
判断是否为字符串
方法: isString(str)
参数
@param {any} str
例:
isString('我爱你'); //输出 true
判断是否为Functionis
方法: isFunction(t)
参数
@param {any} t
例:
isFunction(() => {}); //输出 true
删除字符串左右两端的空格
方法: trim(str)
参数
@param {string} str
例:
trim(' 123213 '); //输出 123213
判断是否是邮箱
方法: isEmail(str)
参数
@param {any} str
例:
isEmail('1@qq.com'); //输出 true
判断对象中是否有空值 返回新对象
方法: filterParams(obj)
参数
@param {object} obj
例:
filterParams({name: null, age: '', sex: 1}) //输出 {sex: 1}
判断是否是数组
方法: isArray(arg)
参数
@param {any} arg
例:
isArray([123]) //输出 true
对象深拷贝
不能拷贝函数对象
方法: deepCopy(obj)
参数
@param {*} obj
例:
deepCopy({a: 1}) //输出 {a: 1}
判断两个对象是否相同
方法: isObjEqual(o1, o2)
参数
@param {object} o1 对象 @param {object} o2 对象
例:
isObjEqual({a: 1}, {a: 1}) //输出 true