1.0.4 • Published 3 years ago

cosy-data v1.0.4

Weekly downloads
1
License
ISC
Repository
-
Last release
3 years ago

项目说明

常用数据处理方法集成

引入

import cosyData from 'cosy-data'

判断类

isPhone 判断是否是手机

cosyData.isPhone('13142241111') //true

isJSON 判断是否是json格式

cosyData.isJSON('{"a":1}')  //true

isNum 判断是否是数字

cosyData.isNum('') // false
cosyData.isNum(' ') //false
cosyData.isNum(null) //false
cosyData.isNum(1)//true

getDataType 获取数据类型

cosyData.getDataType('12') //String
cosyData.getDataType(12) //Number
cosyData.getDataType([]) //Array
cosyData.getDataType({}) //Object
cosyData.getDataType(true) //Boolean
cosyData.getDataType(null) //Null
cosyData.getDataType(undefined)//Undefined
cosyData.getDataType(new Date()) //Date
cosyData.getDataType(/[hbc]at/gi) //RegExp

数据处理类

deepCopy 数据深拷贝

/**
 * 深拷贝
 * */
let oldObj={
    a:1,
    b:2,
    c:[1,2,3]
}
let newObj = cosyData.deepCopy(oldObj);

oldObj.c.push(4);

//oldObj  {a:1,b:2,c:[1,2,3,4]}
//newObj  {a:1,b:2.c:[1,2,3]}

extend 对象合并

 /**
   * 对象合并
   * @param {*} o 被增加对象
   * @param {*} n 增加对象
 */
let aObj = {
    a:"1",
    b:"2"
}
let bObj = {
    c:"3",
    d:"4"
}

cosyData.extend(aObj,bObj);

console.log(aObj); //  {a:"1",b:"2",c:"3",d:"4"}

drData 无限极数据降维

/**
     * 降维数据
     * @param {*} res       Array       需要降维的数据
     * @param {*} key       Sting       被降维键名 
*/
let obj = {
    children:[
        {
            name:"1",
            children:[
                {
                    name:"2"
                }
            ]
        },
        {
            name:"3"
        }
    ]
}

let allArray = cosyData.drData(obj,"children"); //[{name:"1",children:[{name:"2"}]},{name:"2"},{name:"3"}]

formatDate 时间戳格式化

 /**
     * 时间戳转日期
     * @param {*} date        时间戳
     * @param {*} allType     返回数据类型     
     *                                   0:年-月-日           
     *                                   1:时:分              
     *                                   2:年-月-日 时:分:秒
     *                                   3: 时:分:秒
     *                                   4: {h,M,s,y,m,d}
     *                                   5: {hour,minute,second,nano}
     */
cosyData.formatDate(new Date(),0) //2020-11-11

getDayText 获取周字符串

/**
 *String 【0:周日-6周六】
 * */
cosyData.getDayText(0) //"周日"

unique 数组去重

cosyData.unique([0,0,1,1,2,3,4]) //[0,1,2,3,4]

getOutData 对象数据批量处理

/**
     * 提取提交数据
     * @param {*} res               Obj       需要筛选的原始数据对象
     * @param {*} resList           Array     ['xxx']提交字段list/
     *                                                 String:对应键值
     *                                                 Array[对应字段,生成字段]
     *                                                  Object {  
     *                                                    key:对应字段,
     *                                                    outKey:生成字段,
     *                                                    event:处理方法
     *                                                   }
     */
let startObj = {
    a:1
}
//深拷贝================
cosyData.getOutData(startObj.['a']) // {a:1} 

//快速字符处理==========
cosyData.getOutData(startObj.[
    ['a','outA']
]) 
// {outA:1}

//含处理逻辑============
cosyData.getOutData(startObj,[
    key:'a',
    outKey:'outA',
    event:res=>{
        return res + 1 
    }
]);
// {outA:2}

randomNum 生成随机数

/**
   * 生成随机数
   * @param {*} minNum 最小数
   * @param {*} maxNum 最大数
   */
  cosyData.randomNum(0,10); // 0-10之间随机数

randomNumFor 生成随机数数组

/**
   * 生成  范围内  一定数量随机数
   * @param {*} minNum 
   * @param {*} maxNum 
   * @param {*} numLength 
   */
  cosyData.randomNumFor(0,10,3) //[3,1,7]

getDataToObj 获取当前路由get传参

cosyData.getDataToObj();
//假设当前页面地址 http://www.xxx.com?a=10&&b=adg
//{a:"10",b:"adg"}
1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago