类型判断和JSON判断

2019-10-10  本文已影响0人  louiebb

类型判断

/**
 * @description 终结版类型判断(支持所有类型)
 * @param {Any} obj - 任意类型
 * @return {String}  String  - 返回对象的类型:String,Number,Array,Object,Function,Symbol,Date,Set,Map,Null,Undefined...
 */
export const superTypeOf = (obj) => {
  return Object.prototype.toString.call(obj).slice(8, -1)
}

JSON判断

/**
 * 判断是否为json格式
 *
 * @param {string} str - str 目标
 * @return {Boolean} true|false
 */
export const isJSON = (str) => {
  if (superTypeOf(str) === 'String') {
    try {
      let obj = JSON.parse(str)
      if ((superTypeOf(obj) === 'Object' || superTypeOf(obj) === 'Array') && obj) {
        return true
      } else {
        return false
      }
    } catch (e) {
      return false
    }
  } else {
    return false
  }
}
上一篇 下一篇

猜你喜欢

热点阅读