首页 > web前端 > js教程 > 正文

如何在 JavaScript 或 jQuery 中递归遍历对象(树)?

Linda Hamilton
发布: 2024-10-22 20:56:10
原创
314 人浏览过

How to Traverse an Object (Tree) Recursively in JavaScript or jQuery?

递归地循环遍历对象(树)

在 JavaScript 或 jQuery 中,可以使用 for 来实现遍历对象及其后代。 ..in 循环:

<code class="javascript">for (var key in foo) {
  if (key == "child") {
    // Do something with child
  }
  if (key == "bar") {
    // Do something with bar
  }
  if (key == "grand") {
    // Do something with grand
  }
}</code>
登录后复制

请注意,for...in 循环会迭代所有可枚举属性,包括从对象原型继承的属性。要避免对继承的属性进行操作,请使用 hasOwnProperty:

<code class="javascript">for (var key in foo) {
  if (!foo.hasOwnProperty(key)) continue;
  if (key == "child") {
    // Do something with child
  }
}</code>
登录后复制

递归循环

要递归循环,请创建递归函数:

<code class="javascript">function eachRecursive(obj) {
  for (var key in obj) {
    if (typeof obj[key] === "object" &amp;&amp; obj[key] !== null) {
      eachRecursive(obj[key]);
    } else {
      // Do something with primitive value
    }
  }
}</code>
登录后复制

该函数可以处理对象和数组,递归地遍历它们的嵌套结构。

以上是如何在 JavaScript 或 jQuery 中递归遍历对象(树)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!