如下題:JSON.stringify 的功能是,將一個 JavaScript 字面量對象轉(zhuǎn)化為一個 JSON 格式的字符串。例如const obj = {a:1, b:2}JSON.stringify(obj) // => '{"a":1,"b":2}'當(dāng)要轉(zhuǎn)化的對象有“環(huán)”存在時(子節(jié)點屬性賦值了父節(jié)點的引用),為了避免死循環(huán),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 形成環(huán)JSON.stringify(obj) // => TypeError: Converting circular structure to JSON請完善以下“環(huán)”檢查器函數(shù) cycleDetector,當(dāng)入?yún)ο笾杏协h(huán)時返回 true,否則返回 false。function cycleDetector(obj) { // 請?zhí)砑哟a}
JS怎樣判斷一個對象是否存在"環(huán)"?
qq_笑_17
2018-12-28 23:15:57