极客时间对于推广渠道会有返利优惠,比如山月在极客时间买了一门课,再把课程分享给好友购买,这时极客时间会向山月返利20元左右。
而我现在做了一个返利平台,你可以在上边通过山月的链接购买课程,此时极客时间会向我返利。为了共同学习,而你可以添加我的微信 (shanyue94),我将把极客时间给我的返利发一个红包全部返给你

# JS 如何检测到对象中有循环引用

更多描述

示例,如下数据为循环结构/循环引用

const user = { id: 10086, name: '山月' }
user._user = user

追问:

  1. 由于 JSON.stringify 序列化对象时,将跳过不枚举的 key,因此此时可不考虑不可枚举的 key
  2. 如果考虑不可枚举 key 与 Symbol 如何处理

Issue

欢迎在 Issue 中交流与讨论: Issue 683 (opens new window)

希望不可枚举和Symbol 可以Reflect.ownKeys(obj).map(curr => obj[curr]) 获取全部的key对应的values Object上面也有 不过是分开的 两个API

function checkObj (obj, set = new Set()) {
    if (typeof obj === 'object' && obj !== null || Array.isArray(obj)) {
        if (set.has(obj)) {
            return true
        } else {
            set.add(obj)
        }
        return Object.values(obj).some(curr => {       
            return checkObj(curr, set)
        })
    }
    return false
}

关于山月

我的项目:
我的微信:shanyue94,欢迎交流
Last Updated: 7/31/2021, 3:04:10 PM