2.2.4 • Published 8 months ago

wanado v2.2.4

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

wanado

一个简单js函数库,目的是简化js数据操作

使用npm安装

npm install wanado

引用

import wanado from 'wanado'

按需加载,需安装eslint-plugin-import

import { isString } from 'wanado/src/sources/isString'
import { checkType } from 'wanado/src/sources/checkType'
// ...

索引

数据判断

数组操作

对象操作

时间函数

字符串操作

缓存操作

二进制文件操作

正则匹配

文档

数据判断

  • checkType判断类型
wanado.checkType(value)
  • isString判断是否为字符串类型(正向)

wanado.isString(value)
  • isNotString判断是否为字符串类型(反向)

wanado.isNotString(value)
  • isNumber判断是否为数字类型(正向)

wanado.isNumber(value)
  • isNotNumber判断是否为数字类型(反向)

wanado.isNotNumber(value)
  • isBoolean判断是否为布尔类型(正向)

wanado.isBoolean(value)
  • isNotBoolean判断是否为布尔类型(反向)

wanado.isNotBoolean(value)
  • isArray判断是否为数组类型(正向)

wanado.isArray(value)
  • isNotArray判断是否为数组类型(反向)

wanado.isNotArray(value)
  • isFunction判断是否为函数类型(正向)

wanado.isFunction(value)
  • isNotFunction判断是否为函数类型(反向)

wanado.isNotFunction(value)
  • isObject判断是否为对象类型(正向)

wanado.isObject(value)
  • isNotObject判断是否为对象类型(反向)

wanado.isNotObject(value)
  • isUndefined判断是否为undefined(正向)

wanado.isUndefined(value)
  • isNotUndefined判断是否为undefined(反向)

wanado.isNotUndefined(value)
  • isNull判断是否为null(正向)

wanado.isNull(value)
  • isNotNull判断是否为null(反向)

wanado.isNotNull(value)
  • isEmptyValue判断是否为空值

wanado.isEmptyValue(value)
  • isEmptyObject判断是否为空对象

wanado.isEmptyObject(value)
  • isEmptyList判断是否为空数组

wanado.isEmptyList(value)

数组操作

  • listInsert数组插入

// 普通插入
wanado.listInsert([1, 2, 3], [4, 5])
// [1,2,3,4,5]

// 依据下标插入
wanado.listInsert([1, 2, 3], {a: 1}, 1)
// [1,{a: 1},2,3]

// 筛选对象插入(默认向后)
wanado.listInsert([{a: 1,b: 1},{a: 2,b: 2}], {a:3,b:3}, {a: 1})
// [{a:1,b:1},{a:3,b:3},{a:2,b:2}]

// 选择插入方向(向前)
wanado.listInsert([{a: 1,b: 1},{a: 2,b: 2}], {a:3,b:3}, {a: 2}, 'ahead')
// [{a:1,b:1},{a:3,b:3},{a:2,b:2}]
  • listRemove数组删除

// 根据下标指定数量删除
wanado.listRemove([1,2,3,4], 0, 2)
// [3,4]

// 指定数据删除
wanado.listRemove([1,2,3,4], [2,4])
// [1,3]

// 根据属性指定删除
wanado.listRemove([{a: 1,b:2},{a:1,b:1,c:3}], {b:1,c:3})
// [{a: 1, b: 2}]
  • sort数组排序(支持复杂对象排序)

// 普通排序(默认大到小)
wanado.sort([2, 4, 3, 6, 5, 8, 7, 9, 0])
// [9, 8, 7, 6, 5, 4, 3, 2, 0]

// 普通排序(小到大)
wanado.sort([2, 4, 3, 6, 5, 8, 7, 9, 0], 'order')
// [0, 2, 3, 4, 5, 6, 7, 8, 9]

// 对象数组排序(默认大到小)
wanado.sort([{ a: 1 }, { a: 4 }, { a: 2 }, { a: 3 }], 'a')
// [{ a: 4 }, { a: 3 }, { a: 2 }, { a: 1 }]

// 对象数组排序(小到大)
wanado.sort([{ a: 1 }, { a: 4 }, { a: 2 }, { a: 3 }], 'order', 'a')
// [{ a: 1 }, { a: 2 }, { a: 3 }, { a: 4 }]
  • listDeduplicate数组去重

// 普通去重
wanado.listDeduplicate([1,2,3,3,4,5,6,6,7,7,8,8,8])
// [1,2,3,4,5,6,7,8]

// 对象数组去重(默认保留向前)
wanado.listDeduplicate([{a:1,b:2},{a:1,b:3},{a:2,b:2,c:3}], 'a')
// [{a:1,b:2},{a:2,b:2,c:3}]

// 对象数组去重(保留向后)
wanado.listDeduplicate([{a:1,b:2},{a:1,b:3},{a:2,b:2,c:3}], 'a', 'behind')
// [{a:1,b:3},{a:2,b:2,c:3}]
  • listGroup根据传入的对象数组和key进行分组

var arr = [
  {id: 1, year: 2018},
  {id: 2, year: 2017},
  {id: 3, year: 2016},
  {id: 4, year: 2017},
  {id: 5, year: 2018},
  {id: 6, year: 2017}
]
wanado.listGroup({target: arr, key: 'year'})
// {
//   "2016": [
//     {"id": 3, "year": 2016}
//   ],
//   "2017": [
//     {"id": 2, "year": 2017},
//     {"id": 4, "year": 2017},
//     {"id": 6, "year": 2017}
//   ],
//   "2018": [
//     {"id": 1, "year": 2018},
//     {"id": 5, "year": 2018}
//   ]
// }
  • toArray伪数组转数组

wanado.toArray(target)

对象操作

  • objectMerge合并对象并返回一个合并后的对象

// 合并(向后覆盖)
wanado.objectMerge([{ a: 1 }, { a: 2, b: 2 }, { a: 3, c: 3 }])
// { a: 3, b: 2, c: 3 }

// 合并(向前覆盖)
wanado.objectMerge([{ a: 1 }, { a: 2, b: 2 }, { a: 3, c: 3 }], 'ahead')
// { a: 1, b: 2, c: 3 }
  • objectCopy数组或对象的拷贝

// 浅拷贝
wanado.objectCopy({ a: 1, b: 2, c: { aa: 11, bb: 22 } })

// 深拷贝
wanado.objectCopy({ a: 1, b: 2, c: { aa: 11, bb: 22 } }, 'deep')
  • objectToQuery对象转query

wanado.objectToQuery({ a: 1, b: 2, c: 3 })
// 'a=1&b=2&c=3'

// 自定义连接符
wanado.objectToQuery({ a: 1, b: 2, c: 3 }, '@')
// 'a=1@b=2@c=3'

时间函数

  • toDate时间格式化函数

// yyyy: 年
// M: 月(不补0)
// MM: 月(补0)
// D: 天(不补0)
// DD: 天(补0)
// h: 12小时制小时(不补0)
// hh: 12小时制小时(补0)
// H: 24小时制小时(不补0)
// HH: 24小时制小时(补0)
// m: 分钟(不补0)
// mm: 分钟(补0)
// s: 秒(不补0)
// ss: 秒(补0)

// 默认格式
wanado.toDate('2018-3-3')
// 2018-03-03 00:00:00

// 格式自定义
wanado.toDate(1234567890, 'YY//MM!!DD hh::mm""ss')
// 1970//01!!15 14::56""07

字符串操作

  • toThousands千分位格式化

wanado.toThousands('123123123')
// 123,123,123

wanado.toThousands('123123123.123123')
// 123,123,123.123123
  • queryToObjectquery转对象

wanado.queryToObject('a=1&b=2&c=3')
// { a: "1", b: "2", c: "3" }

// 自定义连接符
wanado.queryToObject('a=1#b=2#c=3', '#')
// { a: "1", b: "2", c: "3" }

缓存操作

  • setCookie设置cookie

wanado.setCookie('token', '1357924680', {'max-age': 40000})
  • getCookie获取cookie

wanado.getCookie(key)
  • setStorage设置storage

wanado.setStorage('id',[1,2,3], {
  expire: 10000,
  mode: 'session'
})
  • getStorage获取storage

wanado.setStorage(key)

二进制文件操作

  • downloadBlob下载二进制流文件

wanado.downloadBlob(data, MIME, fileName)

正则匹配

  • isEmail表单验证邮箱

wanado.isEmail(val)
  • isPhoneNum表单验证手机号

wanado.isPhoneNum(val)
  • isChinese表单验证汉字

wanado.isChinese(str)
2.2.3

8 months ago

2.2.4

8 months ago

2.2.2

1 year ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.4

2 years ago

2.1.5

2 years ago

2.1.2

2 years ago

2.1.3

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.7

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.4.3

2 years ago

1.1.6

2 years ago

1.4.2

2 years ago

1.1.5

2 years ago

1.4.1

2 years ago

1.1.4

2 years ago

1.3.1

2 years ago

1.1.3

2 years ago

1.3.0

2 years ago

1.1.2

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.1

2 years ago