如何检测圆形结构?

6 javascript

例如,这段代码:

var a = {};
a.a = a;
JSON.stringify(a);
Run Code Online (Sandbox Code Playgroud)

将投掷:

TypeError: Converting circular structure to JSON
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何检测圆形结构?

Ken*_*Ken 9

Crockford的JSON实现就是这样做的.看起来它只是在遍历对象图时保留一个列表.代码很容易理解.

  • 我仍然无法忍受Crockford如何离开 - 在他的代码中对齐所有评论.当我自上而下阅读代码时,我发现很难跟着向左跳. (4认同)