这是一个简单的函数,'...'当对象之前已被看到时插入,以防止无限递归。
function safeStringify (value) {
const seen = new Set()
return JSON.stringify(value, (k, v) => {
if (seen.has(v)) { return '...' }
if (typeof v === 'object') { seen.add(v) }
return v
})
}
Run Code Online (Sandbox Code Playgroud)