当前位置: 首页 > 知识库问答 >
问题:

如何在java脚本中识别/检测循环对象?

邵博艺
2023-03-14

如何在java脚本中识别/检测循环对象类型?

圆形对象的示例:

const obj = {    
  name: "loopObj"
};
    
const loopObj = {    
  obj    
};

obj.loopObj = loopObj;

如果我们尝试使用JSON字符串化循环对象。stringify(obj),它将抛出一个错误,如下所示

在JSON. stringify()将循环结构转换为JSON

共有1个答案

漆雕誉
2023-03-14

下面是一个使用trycatch

function isCircular (d) {
  try {JSON.stringify(d)}
  catch (e) {return true}
  return false
}

Crockford的JSON实现就是这样做的。看起来它只是在遍历对象图时保留了一个列表。

 类似资料:
  • 问题内容: 假设你在Java中拥有一个链表结构。它由节点组成: 每个节点都指向下一个节点,但最后一个节点除外,后者的下一个为空。假设列表有可能包含一个循环-即最终的Node而不是null,而是引用了列表中位于其之前的节点之一。 最好的写作方式是什么 如果给定的是带有循环的列表的第一个,则将返回什么,否则返回?你怎么写才能占用恒定的空间和合理的时间? 问题答案: 想法是要有两个引用列表,并以不同的速

  • 问题内容: 我想用JAXB将我的pojo转换为json,我的pojo具有一对多的关系,当我将pojo转换为json时,JAXB会产生错误“在对象图中检测到一个循环。这将导致无限深的XML”。 我从网上读到,可以通过@XmlID和@XmlIDREF的帮助解决此问题,但是有一个问题,我的Id属性不是String类型,而是Long。据我所知,@ XmlID只能与String属性一起使用。 其他网站建议使

  • 问题内容: 我正在尝试检测Java字节码。 我想识别 java循环 的 进入和退出 ,但是我发现识别循环非常具有挑战性。我花了很多时间研究 ASM 和 开源反编译器 (我一直认为自己必须始终解决此问题),但是我的想法很短。 我正在扩充/扩展的工具正在使用ASM,因此理想情况下, 我想知道如何通过ASM在Java中检测不同循环结构的进入和退出 。但是,我也欢迎关于一个好的开源反编译器的建议,因为显然

  • 问题内容: 我有以下示例未完成方法来比较给定对象的对象类型 该方法可以称为: 此方法实际上不起作用,请帮助我使其起作用 问题答案: 您忘记了: 请注意,此类代码通常是不良OO设计的标志。 还要注意,将对象的类与类进行比较,并使用instanceof是不一样的。例如: 是假的,而 是真的。 是否必须使用一个或另一个取决于您的要求。

  • 我目前正在开发一个应用程序,在这个应用程序上我有很多文本,我想知道它们是否与烹饪/食谱词汇有关。我已经看过并尝试过一些东西,但我开始怀疑我是否会在这方面做得过火(我不想再创造轮子)。 我现在工作的道路意味着获取与这个词汇表相关的所有单词(成分、动作、对象……在许多语言中),并将我的数据库与我文本组中的每个单词进行比较,然后为每个组定义一个分数,用于决定(取决于我的阈值)是否应该保留它。 这种方法的

  • 问题内容: 刚接触React并尝试循环对象属性,但是React抱怨对象不是有效的React子对象,有人可以给我一些如何解决此问题的建议吗?我添加了createFragment,但不确定是否需要执行此操作或应该采用哪种方法? JS 渲染功能 控制台错误 问题答案: 问题在于您的使用方式,因为它总是会返回。您可能正在寻找返回新数组的方法: 如果仍然要使用,则必须执行以下操作: 更新: 如果您正在编写E