javascript - 规范化深度嵌套的对象
问题描述
所以我有这个代表层次结构的对象。最好的方法是什么?
例如查找每个级别的朋友数量,添加特定深度的朋友。
{
"name": "John",
"Friends": [{
"name": "Emily",
"Friends": [{
"name": "Sandra",
"Friends": []
},
{
"name": "Michael",
"Friends": []
}
]
},
{
"name": "Sara",
"Friends": [{
"name": "James",
"Friends": []
},
{
"name": "Yara ",
"Friends": []
}
]
}
]
}
解决方案
这个函数应该足够了,这将使我们能够迭代广度,如果我们想要使用其他一些条件语句,我们可以添加/删除对象 -:
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]);
}
}
}
推荐阅读
- generics - 为什么我不能在 Rc 中使用这个闭包
? - javascript - GraphQL 指令参数作为对象
- javascript - 如何将我的 react-native 项目中的 .js 文件移动到不同的目录
- floating-point - 在浮点数中,为什么符号位不在 23 位尾数旁边?
- javascript - 使用鼠标右键粘贴图像(粘贴选项)
- javascript - Firebase web:将多个文件上传到存储,然后下载它们的 URL
- java - 如何修复相机 API?
- node.js - Docker-compose up 以代码 1 退出,但 docker-compose build 成功
- c# - 使用接口将通用规则应用于继承的接口
- database - 如何使用boto3在dynamodb中查询大于排序键