https://github.com/heyui/hey-utils
js-utils
https://github.com/heyui/hey-utils
js utils
Last synced: about 1 year ago
JSON representation
js-utils
- Host: GitHub
- URL: https://github.com/heyui/hey-utils
- Owner: heyui
- License: mit
- Created: 2017-03-28T09:45:44.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T18:15:22.000Z (over 3 years ago)
- Last Synced: 2025-04-30T18:02:31.592Z (about 1 year ago)
- Topics: js, utils
- Language: JavaScript
- Homepage:
- Size: 143 KB
- Stars: 23
- Watchers: 1
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# hey-utils
## 判断类型
### isObject
### isArray
### isDate
### isNumber
### isString
### isBoolean
### isFunction
### isNull
### isPlainObject
## 数值计算
替换js数学计算中产生的错误,比如:0.09999999 + 0.00000001
### add(arg1, arg2)
加法
### sub(arg1, arg2)
减法
### mul(arg1, arg2)
乘法
### div(arg1, arg2)
除法
## 对象复制,合并,赋值
### extend
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。
如果第一个参数设置为true,则返回一个深层次的副本,递归地复制找到的任何对象。
否则的话,副本会与原对象共享结构。 未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。
```js
utils.extend({},{a:1},{b:2});
//结果
{
a:1,
b:2
}
```
### freeze
深度冻结对象
Object.freeze的深度实现
例:utils.freeze({a:1});
### copy
深度拷贝对象
Object.assign的深度实现
例:utils.copy({a:1});
### getKeyValue
获取深度path的对象值
```js
utils.getKeyValue({id:{v:'a'},b:2},"id.v");
//'a'
utils.getKeyValue({id:{v:['a','b']},b:2},"id.v[1]");
//'b'
```
### setKeyValue
对深度path的对象赋值
```js
utils.setKeyValue({id:{v:1},b:2}, 'id.v', 2);
//{id:{v:2},b:2}
utils.setKeyValue({id:{v:['a','b']},b:2}, "id.v[1]", 'c');
//{id:{v:['a','c']},b:2}
```
## toArray, toObject
### toArray
将object转换成array.
toArray(object,keyName,valueName)
例:
```js
utils.toArray({a:1,b:1},'key','value');
//结果
[{
key:'a',
value:1
},{
key:'b',
value:1
}]
utils.toArray({a:{b:2,d:4},b:{c:2,e:5}},'id');
//结果
[{
id:'a',
b:2,
d:4
},{
id:'b',
c:2,
e:5
}]
```
### toObject
将array转换成object.
例:
```js
utils.toObject(['a','b','c']);
//结果
{
a:'a',
b:'b',
c:'c'
}
utils.toObject([{id:'a',b:2},{id:'b',b:2}],'id');
//结果
{
a:{
id:'a',
b:2
},
b:{
id:'b',
b:2
}
}
utils.toObject([{id:'a',b:2},{id:'b',b:2}],'id',true);
//结果
{
a:{
id:'a',
b:2,
count:0
},
b:{
id:'b',
b:2,
count:1
}
}
```
### saveLocal(name, value)
保存本地localStorage
### getLocal(name,type)
获取本地localStorage,如果type=='json',这转换出json对象。
### getLocal2Json(name)
获取本地localStorage,并转换出json对象。
### removeLocal(name)
删除本地localStorage。
### saveCookie(name, value, domain, path, minSec)
保存本地cookie,path默认为/,minSec默认无限
### getCookie(name)
保存获取cookie
### clearCookie(domain, path)
清除所有cookie
### removeCookie(name, domain, path)
删除cookie
### toSimpleArray(data, key)
获取对应的key数组
### toggleValue(list, value)
如果数组存在这个值,则删除,如果没有,则添加
### padLeft(str, size)
左边填充0
### removeCookie(name, path)
删除cookie,path默认为/
### dictMapping({value, dict, connector, keyField='key', titleField='value'})
```js
let a = [{ title: '选择0', key: 0 }, { title: '选择1', key: 'a1', other: '其他值' }, { title: '选择2', key: 'a2' }, { title: '选择3', key: 'a3' }];
utils.dictMapping({value: 'a1', dict: a, titleField: 'title'})
//'选择1'
utils.dictMapping({value: ['a1', 'a2'], dict: a, titleField: 'title'})
//'选择1, 选择2'
utils.dictMapping({value: 'a1|a2', dict: a, titleField: 'title', connector: '|'})
//'选择1, 选择2'
```
## uuid()
生成唯一值
## getURLParam(path, search)
获取url参数,例:aa.com?a=1
```js
utils.getURLParam('a', window.location.search) //1
```
## getAuthor
获取author, 配合umock系统