首页 > 解决方案 > 规范化深度嵌套的对象

问题描述

所以我有这个代表层次结构的对象。最好的方法是什么?

例如查找每个级别的朋友数量,添加特定深度的朋友。

{
  "name": "John",
  "Friends": [{
      "name": "Emily",
      "Friends": [{
          "name": "Sandra",
          "Friends": []
        },
        {
          "name": "Michael",
          "Friends": []
        }
      ]
    },
    {
      "name": "Sara",
      "Friends": [{
          "name": "James",
          "Friends": []
        },
        {
          "name": "Yara ",
          "Friends": []
        }
      ]
    }
  ]
}

标签: javascript

解决方案


这个函数应该足够了,这将使我们能够迭代广度,如果我们想要使用其他一些条件语句,我们可以添加/删除对象 -:

function traverseObjectBreadthWise (obj) {
    for (var key in obj) {
        if (typeof obj[key] == "array" || typeof obj[key] == "object") {
            traverseObjectBreadthWise(obj[key]);
            console.log(key);
        } else {
            console.log(key, "=", obj[key]);
        }
    }
}

推荐阅读