The World of Remnant

TS任务stringifyObject

做一个object-stringify

var input = {
  b:[{d:NaN},function c() {
    return 1
  }]
}
function stringifyObj(obj:Record<string|number,any>) {
  function fn(obj:any) {
    if(typeof obj === 'object'){
      if(obj instanceof Array){
        for (var i = 0; i < obj.length; i++) { //for of不能修改引用值
          obj[i] = fn(obj[i])
        }
      }else if(obj === null){}else{
        for (var keys in obj) {
          if (obj.hasOwnProperty(keys)) {
            obj[keys] = fn(obj[keys])
          }
        }
      }
    }else{
      obj = obj.toString()
    }
    return obj
  }
return JSON.stringify(fn(obj))
}
console.log(stringifyObj(input));