做一个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));