<script>
/**
* @desc 模拟 JSON.stringify
*/
var format = function (obj) {
if (typeof obj !== "object" || obj === null) {
if (typeof obj === 'string') {
return `"${obj}"`
}
return obj
}
if (Array.isArray(obj)) {
const content = obj.map(el => format(el)).join(',')
return '[' + content + ']'
}
const list = []
Object.keys(obj).forEach(key => {
list.push(`"${key}":${format(obj[key])}`)
})
return '{' + list.join(',') + '}'
}
// 测试用例
var person = {
body: null,
name: 'tony',
list: [1, 2, 3, {
name: 'frank'
}],
wife: {
name: 'like',
age: 30
}
}
console.log(JSON.stringify(person))
console.log(format(person))
</script>
image.png
当然,我这个实现是简易版的,JSON.stringify 支持更多的参数:
image.png












网友评论