1.2.3 • Published 2 years ago

common-methods v1.2.3

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

common-methods

npm-version npm-download npm-installsize npm-minsize npm-license

安装

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>

使用

数据扁平化

定义: 将一个多层嵌套的Object对象数据通过数据偏平处理模型扁平化

  1. 方法: 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}
  2. 方法: 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

  1. 方法: 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
1.2.3

2 years ago

1.2.0

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago