常见的js技巧
URL参数序列化
console.log(StringifyURI({ name: 'lisi', age: 18 })) // ?name=lisi&age=18
URL参数反序列化
console.log(`ParseURI`, ParseURI('https://www.baidu.com?name=lisi&age=25&')) // ParseURI {name: "lisi", age: "25"}
将 数组list数据 转为 Tree数据结构
/**
* arrayToTree 将Array 转为 Tree
* @param list [*] 数据源
* @param pid pid关联父级别id
*/
将 Tree数据结构 转为 list数组结构 **
/**
* treeToArray
* @param source [*] 数据源
*/
修改tree数据中的属性名
/**
* handleAttribute
* @param source [*] 数据源
*/
数组去重
/**
* uniqueArr
* @param source [*] 数据源
*/
const arr = [1, 3, 2, 6, 4, 2, 4, 3]
console.log(`uniqueArr`, uniqueArr(arr)) // uniqueArr (5) [1, 3, 2, 6, 4]
数字千分化
/**
* formatMoney
* @param number
*/
console.log(formatMoney(0.12345678)) // 0.123,456,78
console.log(formatMoney(1234.56789)) // 1,234.567,89
获取对象指定键值对
/**
* getObjKeyVal
* @param obj
* @param keysArr string[]
*/
const obj = { name: '小华', age: 18, high: '168cm', sex: 'female' }
const keys = [ 'name', 'age' ]
console.log(`getObjKeyVal`, getObjKeyVal(obj, keys)) // getObjKeyVal {name: "小华", age: 18}
生成随机数
/**
* generateRandom
* @param source Array
* @param num 生成的数量
*/
判断ios和android平台
/**
* judgeOS
* @return Android | IOS | PC
*/
移动端,获取根节点像素
校验图片链接是否有效
/**
* checkIsImgExists
* @return YES | NO
*/
实现数组随机排序(shuffle)
/**
* shuffle
* @param Array
*/