# 基础
# API
名称 | 描述 |
---|---|
isEmpty | 是否为空 |
isEquals | 深度比较两者的值是否相等 |
isArray | 是否为数组 |
isDate | 是否为日期 |
isBoolean | 是否为布尔 |
isFunction | 是否为函数 |
isNull | 是否为 null |
isNumber | 是否为数字 |
isObject | 是否为对象 |
isRegExp | 是否为正则 |
isString | 是否为字符串 |
isType | 是否为指定类型 |
isUndefined | 是否为 undefined |
# getType
获取值类型
语法:
rutils.getType(value)
示例:
rutils.getType(null)
// => 'null'
rutils.getType(true)
// => 'boolean'
rutils.getType(1)
// => 'number'
rutils.getType([1, 2, 3])
// => 'array'
rutils.getType({ a: 1 })
// => 'object'
rutils.getType(new Set())
// => 'set'
rutils.getType(new Map())
// => 'map'
rutils.getType(function() {})
// => 'function'
# isEmpty
语法:
rutils.isEmpty(value)
例子:
rutils.isEmpty(null)
// => true
rutils.isEmpty(true)
// => true
rutils.isEmpty(1)
// => true
rutils.isEmpty([1, 2, 3])
// => false
rutils.isEmpty({ a: 1 })
// => false
rutils.isEmpty([])
// => ture
rutils.isEmpty({})
// => ture
# isEquals
判断两个值是否相同
语法:
rutils.isEquals(value1, value2)
示例:
rutils.isEquals(1, '1')
// => false
rutils.isEquals({ userName: 'zhangsan' }, { userName: 'lisi' })
// => false
let a1 = { user: 'zhangsan', info: { age: 22, ad: { name: '十里店' } } }
let b1 = { user: 'zhangsan', info: { age: 22, ad: { name: '十里店' } } }
rutils.isEquals(a1, b1)
// => true
let a = { user: 'zhangsan', info: { age: 22, ad: { name: '十里店', time: new Date('2022/1/1') } } }
let b = { user: 'zhangsan', info: { age: 22, ad: { name: '十里店', time: new Date('2022/1/1') } } }
rutils.isEquals(a, b)
// => true
let arr1 = [{ user: 'zhangsan', info: { age: 22, ad: { name: '十里店', time: new Date('2022/1/1') } } }]
let arr2 = [{ user: 'zhangsan', info: { age: 22, ad: { name: '十里店', time: new Date('2022/1/1') } } }]
rutils.isEquals(arr1, arr2)
// => true
# isArray
判断数据是否为数组
语法:
rutils.isArray(value)
示例:
rutils.isArray(1)
// => false
rutils.isArray([1, 2, 3, 4])
// => true
# isDate
数据是否为日期对象`
语法:
rutils.isDate(value)
示例:
rutils.isDate(new Date())
// => true
rutils.isDate('yyyy-mm-dd')
// => false
# isBoolean
数据是否布尔
语法:
rutils.isBoolean(value)
示例:
rutils.isBoolean(new Boolean())
// => true
rutils.isBoolean(true)
// => true
rutils.isBoolean(false)
// => true
rutils.isBoolean(false)
// => true
rutils.isBoolean('test')
// => false
rutils.isBoolean(0)
// => false
# isFunction
值是否为函数
语法:
rutils.isBoolean(value)
示例:
rutils.isFunction(new Function())
// => true
const fun1 = function() {
console.log(111)
}
rutils.isFunction(fun1)
// => true
const obj = {
getData() {}
}
rutils.isFunction(obj.getData)
// => true
rutils.isFunction(111)
// => false
rutils.isFunction(() => ({}))
// => true
# isNull
值是否为空值
语法:
rutils.isNull(value)
示例:
rutils.isNull(null)
// => true
rutils.isNull(1)
// => false
rutils.isNull()
// => false
# isNumber
值是否为数字
语法:
rutils.isNumber(value)
示例:
rutils.isNumber(123)
// => true
rutils.isNumber('123')
// => false
rutils.isNumber(true)
// => false
rutils.isNumber(NaN)
// => true
# isObject
值是否为纯净的对象
语法:
rutils.isObject(value)
示例:
rutils.isObject({})
// => true
function Person() {}
rutils.isObject(new Person())
// => true
rutils.isObject(new Date())
// => false
# isRegExp
值是否为正则表达式
语法:
rutils.isRegExp(value)
示例:
rutils.isRegExp(new RegExp('\\w+'))
// => true
rutils.isRegExp(/^[1][3,4,5,7,8][0-9]{9}$/)
// => true
rutils.isRegExp(111)
// => false
# isType
值是否为指定类型`
语法:
rutils.isType(value, type)
示例:
rutils.isType({}, 'object')
// => true
rutils.isType({}, 'Object')
// => false, 注意小写
rutils.isType([], 'array')
// => true
rutils.isType(new Set(), 'set')
// => true
rutils.isType(new Set(), 'Set')
// => false
rutils.isType(new Map(), 'map')
// => true
rutils.isType(new Date(), 'object')
// => false
# isString
值是否为字符串类型
语法:
rutils.isString(value)
示例:
rutils.isString('hello word!')
// => true
rutils.isString('')
// => true
rutils.isString(null)
// => false
rutils.isString({})
// => false
# isUndefined
值是否为undefined类型
语法:
rutils.isUndefined(value)
示例:
rutils.isUndefined(undefined)
// => true
const obj = {}
rutils.isUndefined(obj.name)
// => true
rutils.isUndefined('undefined')
// => false