| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- let matchNumberStr = ['0',]
- // 部分关键字转换为boolean值
- let falseField = ['false','False','FALSE','null','Null','NULL','undefined','Undefined'];
- let trueField = ['true','True','TRUE'];
- // 类型转换
- function toString(v){
- // 情况1 非对象,直接调用内部值
- if(isNumber(v)) {
- return v + ''
- }
- return v + '';
- }
- // 转换为number类型,先用toBoolean转换为布尔类型
- function toNumber(v){
- if(isString(v)){
- if(falseField.includes(v)){
- v = toBoolean(v)
- }else if (trueField.includes(v)){
- v = toBoolean(v)
- }
- }
- return Number(v)
- }
- // 考虑字段类型
- function toBoolean(v){
- // 字符串类型
- if (isString(v)){
- if(falseField.includes(v)){
- return false
- }else if (trueField.includes(v)){
- return true
- }else{
- Boolean(v)
- }
- }
- }
- function isArray(v){
- return v instanceof Array
- }
- function isString(v){
- return v instanceof String || typeof v === 'string'
- }
- function isNumber(v){
- return v instanceof Number
- }
- function isObject(v){
- return v instanceof Object
- }
- function isEmpty(v){
- if(isArray(v)){
- return v.length === 0
- }else if(isObject(v)){
- return Object.keys(v).length === 0
- }else if(v === 0){
- return false;
- }else{
- return !v
- }
- }
- module.exports = {
- toNumber,
- toString,
- toBoolean,
- isEmpty
- }
|