【发布时间】:2020-04-05 09:18:53
【问题描述】:
我目前正在尝试构建一个遍历嵌套对象以查找匹配值的函数。我创建了这个自定义代码来检查每个级别的对象。问题是如何多次重复该函数,直到它获取或匹配我正在寻找遍历多个级别的值。
let animalTree = {
"animals":[
{
"species":"Vertebrates",
"types": [
{
"category": "Fish",
},
{
"category": "Amphibians",
},
{
"category": "Reptiles",
},
{
"category": "Birds",
},
{
"category": "Mammals",
}
]
},
{
"species":"Invertebrates",
},
{
"species":"Annelids",
},
{
"species":"Molluscs",
},
{
"species":"Nematodes",
},
{
"species":"Arthropods",
},
],
}
let scanTree = () => {
let matchValue = "Vertebrates";
for (let i = 0; i < animalTree.length; i++){
if (animalTree[i].species == matchValue){
console.log('Found')
}
}
}
let jParse = JSON.stringify(animalTree);
scanTree();
【问题讨论】:
-
你的匹配值是否可以是
category或specie为什么要递归运行你的函数? -
子元素必须有相同的键名
-
如果您的 JSON 中有第二项,那会是什么样子?你是说可能还有另一个
animals对象吗?您的问题有点令人困惑-您不需要为此编写自己的函数.. -
@mickl 是的,匹配值可以是物种或类别
-
这个问题没有 JSON。 JSON 是一种文本格式。你所拥有的是一个对象。不需要任何(额外的)特殊行话。
标签: javascript jquery recursion