1.1.2 • Published 4 years ago

xiaoyao-js-utils v1.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
4 years ago
  • 此库为个人记录使用,原生js,无任何依赖,对常用方法的收集整理
  • 使用 npm i xiaoyao-js-utils

本地存储

  • 存储localStorage
    setStore(name, val)
  • 获取localStorage
    getStore(name)
  • 移除localStorage
    removeStore(name)

  • 存储SessionStore
    setStore(name, val)

  • 获取SessionStore
    getStore(name)
  • 移除SessionStore
    removeStore(name)
  • 存储cookie
/**设置cookie
 * @param {cookie名}
 * @param {cookie值}
 * @param {设置cookie域}
 * @param {过期时间(天)} [varname]
 */
setCookie(name, value, domain, day)
  • 获取cookie
/**
 * 获取cookie
 * @return {[type]} [description]
 */
getCookie(name)
  • 移除cookie
/**
 * 删除cookie
 * name: 删除cookie名
 * domain: 所在的域
 */
delCookie(name, domain)

xiaoyao

  • 中文转拼音
/**
 * pinyin.getFullChars('张三');ZhangSan 张三
 * pinyin.getCamelChars('张三'); ZS 张三
 */
  • 去除字符串两端空格
/**
 * 去除字符串两端空格
 * @param {*} str
 */
xiaoyao.trim('  xx   ')   // xx
  • vw vh 转px
xiaoyao.viewportToPixels('100vw') // 100px
  • px 转vw vh
/**
 * px 转vw vh 
 * @param {Number} value 要转换的px,px省略
 * @param {Number} comparison 对比值,设计图尺寸宽或者高
 * @param {Number} type 转换为vw还是vh 0:vw  1:vh
 */
xiaoyao.pixelsToViewport(100, 100, 0)
  • 当前dom是否在当前可视区域
/**
 * 当前dom是否在当前可视区域
 * @param {Document} el 要判断的dom
 * @param {Boolean} partiallyVisible  是否部分可见也算可见  默认为True 即部分可见也算可见
 * @returns {Boolean}  
 */
xiaoyao.elementIsVisibleInViewport(el)  // true 
  • 判断当前运行环境是否是移动端,ipad也算移动端
/**
 * 判断当前运行环境是否是移动端,ipad也算移动端
 * @returns 
 */
xiaoyao.isMobile()
  • 将金额字符串按指定位数使用逗号隔开
/**
 * 将金额字符串按指定位数使用逗号隔开 调用:moneySplit("12345.675910", 3),返回12,345.676
 * @param {String} s 要隔开的字符串
 * @param {Number} n 按此指定位数隔开字符串
 * @returns {String} 返回隔开的字符串
 */
 xiaoyao.moneySplit=function(s, n=3)
  • 将金额字符串按指定位数使用逗号隔开
/**
 * 让整数自动保留2位小数
 */
returnFloat(val)
  • 时间类型转换
/**
 * @param {date} 标准时间格式:Fri Nov 17 2017 09:26:23 GMT+0800 (中国标准时间)
 * @param {type} 类型
 *   type == 1 ---> "yyyy-mm-dd hh:MM:ss.fff"
 *   type == 2 ---> "yyyymmddhhMMss"
 *   type == '' ---> "yyyy-mm-dd hh:MM:ss"
 *   type == 4 ---> "2020年03月03日"
 *
 */
formatDate(date, type)
  • 时间戳转可视时间字符串
parseToDate(20150101010101)   // '2015-01-01 01:01:01'
  • 判断传入值是否为空等
isEmpty(a)   //  undfound null 空对象  空数组 空字符串 等都算空
  • 返回两位的小数的字符串
toFixedNum(val)
  • 读取base64
readFile(file)
  • 动态插入css
/**
 * 动态插入css
 * @param {url} 要引入的css地址
 * 
 */
loadStyle(url)
  • 设置浏览器头部标题
/**
 * 设置浏览器头部标题
 */
setTitle(text)
  • 取出指定url里参数 返回object
// 取出指定url里参数 返回object
param2Obj(url)
  • 是否为正整数
//是否为正整数
isInteger(s)
  • 获取地址栏中指定参数值
/**
 *
 * @param {*} name 指定参数名
 * @return {string} 返回指定参数值(字符串)
 */
getQueryString(name)
  • 获取所有地址栏参数
/**
 * @param {*} url 取参数的地址,默认为当前访问地址
 * @return {string} 返回所有地址栏参数,键值对(字符串)
 */
GetRequest()
  • s6如何创建一个包含当前URL参数的对象
/**
 * es6如何创建一个包含当前URL参数的对象?
 * @param {*} url
 * Example:
 * getURLParameters('http://url.com/page?n=Adam&s=Smith'); // {n: 'Adam', s: 'Smith'}
 * getURLParameters('google.com'); // {}
 */
getURLParameters(url = window.location.href)
  • date转指定格式日期字符串
/**
 * @param {*} date 具体日期变量
 * @param {string} dateType 需要返回类型
 * @return {string} dateText 返回为指定格式的日期字符串
 */
getFormatDate(date, dateType = "yyyy-mm-dd MM:mm:ss")
  • 图片地址是否存在
/**
 *
 * @param {*} pathImg 图片地址是否存在
 */
validateImage('http:baidu.com/22.png')
  • 要转换的时间戳
/**
 *
 * @param {*} time 要转换的时间戳 默认当前时间
 * @return {string} dateText 返回日期字符串 2020.03.09 23:59:59
 */
getTime(time = +new Date())
  • object转url参数
Obj_url = (parmes,isnull=true)
  • 页面重定向 用于将对象传入地址栏但不刷新页面
// 页面重定向  用于将对象传入地址栏但不刷新页面
// isnull 是否认可null? 传false则过滤所有为假的值
redirect = (parmes={},isnull=true)
  • 图片下载辅助函数
/**
 * 图片下载辅助函数
 * @param {string} url 下载图片链接地址
 * @param {string} name 保存的图片名
 */
downloadByBlob(url, name)
  • 将金额字符串按指定位数使用逗号隔开
/**
 * 将 array 分成多个数组,每个数组包含length 或更少的项。
 * @param {Array} array 原数组
 * @param {Number} count 拆解条数
 * var partners = _.chunk(_.shuffle(kindergarten), 2);
 *  => [["Tyrone", "Elie"], ["Aidan", "Sam"], ["Katrina", "Billie"], ["Little Timmy"]]
 */
_chunk([1,2,3,4,5,6,7...], 3) //[[1,2,3],[4,5,6],... ]
  • 根据字段筛选更加重复数据
// 根据字段筛选更加重复数据
// json :JSON对象
// field:字段名
// isnull true 包括空的,false 不包括空的
// 返回重复的field数据
CountJson(json, field, isnull = false)
  • base64转blob
base64ToBlob(base64Data)
  • blobToFile
/**
 * @param {blob} newBlob  blob对象
 * @param {String} fileName 文件名
 */
blobToFile (newBlob, fileName)
  • 对象数组根据指定属性去重,return回 去重后的数组
/**
 * 对象数组根据指定属性去重,return回 去重后的数组
 * @param {*} arr 原始数组
 * @param {*} key 去重的key值
 */
ArrdeWeight(arr, key) 
  • 数组随机乱序算法
/**
 * 数组随机乱序算法
 * @param {*} array 
 */
 shuffle(array)
  • vw vh转px
/**
 * vw vh转px
 * @param {Srring} value
 */
viewportToPixels(value)
  • 根据指定字段返回新json
/**
 * 根据指定字段返回新json
 * @param {*} val 指定的字段名key
 * @param {Array} data 要提取的json数组
 * @param {Boolean} isArray 一个数组或多个数组 默认返回多个数组
 * @returns {Array} 返回提取出的新数组
 */
 jsonKeyToVal(val, data, isArray=false)
  • 将金额字符串按指定位数使用逗号隔开
/**
 * 将指点节点缩放
 * @param {String} name 要缩放的dom  可传class id 标签等等  等同于document.querySelectorAll(name)
 * @param {Number} scale_check 缩放倍数 默认当前宽/1920
 */
 bodyScale(name='body',scale_check=null)
  • 传入json和名字,将json保存为文件下载到本地
/**
 * 传入json和名字,将json保存为文件下载到本地
 * @param {Json} data 
 * @param {String} filename 
 */
saveJSON(data, filename)
  • 传入json类型的文件.解析返回该json
/**
 * 传入json类型的文件.解析返回该json
 * @param {File[JSON]} file 
 * @returns Object
 */
getFileJson(file)
  • 过滤出json对象中指定具有指定键值的数据
/**
 * 过滤出json对象中指定具有指定键值的数据
 * @param {JSON Array} data 
 * @param {String} key 
 * @param {String} val 
 * @returns {JSON Array} 返回所有符合条件的数据
 */
filterKeyAndValToJson(data,key,val='')
  • 自动填充数组至指定长度,若初始长度够则截取,不够则复制当前数组
/**
 * 自动填充数组至指定长度,若初始长度够则截取,不够则复制当前数组
 * @param {Array} arr 
 * @param {Number} len 
 * @returns {Array} 处理后具有指定长度的数组
 */
fillArrayToLen(arr,len)
  • 多维数组解构为一维数组
/**
 * var arr1 = [[0, 1], [2, 3], [4, 5]];
 * var arr2 = flatten(arr1); // arr2 [0, 1, 2, 3, 4, 5]
 * 优点: 多维数组也可以
 * 比如:var arr = [[1,2],3,[[[4], 5]]]
 * @param {*} arr 
 * @returns arr[]
 */
fillArrayToLen(arr,len)
1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.2

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.0

4 years ago