nosh.js
一个我自己常用的工具函数库。
安装
可以用 NPM 或者 Yarn 安装:
npm i noshjs
或者直接将 nosh.js 下载到你的项目中,通过 script 标签引用,此时会注册一个全局变量 window.nosh
。
API
nosh.copy(value)
类似于 lodash.cloneDeep,但没有对特殊类型(例如 Set、Map、Buffer 等)做处理,所以性能比 lodash.cloneDeep 高,见 https://github.com/lodash/lodash/issues/1984
nosh.extend(object, [sources])
类似于 lodash.merge,但没有对特殊类型做处理。
nosh.get(object, path, [defaultValue])
类似于 lodash.get,但是在读取到 null
时也会返回 defaultValue
。例如:
lodash // nullnosh // 'default value'
这个方法性能比 lodash.get 低,如果介意的话,可以基于 lodash.get 封装:
{ let result = lodash if result === null result = defaultValue return result}
nosh.isNumber(value)
判断 value
是否满足 typeof value === 'number' && !isNaN(value)
。
nosh.kmbt(value, [fixed = 2])
将一个数字转换成 KMBT 表现形式的字符串。如果 value
不能转换成数字,则返回 null
。第二个参数可以设置保留多少位小数,默认保留两位。
nosh // nullnosh // '988'nosh // '9.89K'nosh // '9.89M'nosh // '98.89B'nosh // '9.89T'nosh // '9.89P'nosh // '9.89E')
nosh.obj2qs(object, [prefix])
将一个对象转换成查询字符串。第二个参数用于指定查询字符串的前缀。
nosh // '?a=1&b=2'
nosh.percentage(value, [fixed = 2])
将一个数字转换成百分比表现形式的字符串。如果 value
不能转换成数字,则返回 null
。第二个参数可以设置保留多少位小数,默认保留两位。
nosh // nullnosh // '100%'nosh // '-10%'
nosh.remove(array, item)
从数组中删除指定的元素,这个方法只删除第一个匹配的元素。
nosh // [2, 3, 1]
nosh.thousands(value)
将一个数字转换成百分比表现形式的字符串。如果 value
不能转换成数字,则返回 null
。
nosh // nullnosh // '1,000'
许可
MIT