为了账号安全,请及时绑定邮箱和手机立即绑定

JS怎样判断一个对象是否存在"环"?

JS怎样判断一个对象是否存在"环"?

qq_笑_17 2018-12-28 23:15:57
如下题:JSON.stringify 的功能是,将一个 JavaScript 字面量对象转化为一个 JSON 格式的字符串。例如const obj = {a:1, b:2}JSON.stringify(obj) // => '{"a":1,"b":2}'当要转化的对象有“环”存在时(子节点属性赋值了父节点的引用),为了避免死循环,JSON.stringify 会抛出异常,例如:const obj = {  foo: {    name: 'foo',    bar: {      name: 'bar'      baz: {        name: 'baz',        aChild: null  //待会让它指向obj.foo      }    }  }}obj.foo.bar.baz.aChild = obj.foo // foo->bar->baz->aChild->foo 形成环JSON.stringify(obj) // => TypeError: Converting circular structure to JSON请完善以下“环”检查器函数 cycleDetector,当入参对象中有环时返回 true,否则返回 false。function cycleDetector(obj) {     // 请添加代码}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 733 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号