首页  >  文章  >  web前端  >  如何在 JavaScript 或 jQuery 中递归遍历对象(树)?

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

Linda Hamilton
Linda Hamilton原创
2024-10-22 20:56:10375浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn