[英]js recursive function with for in
There are call function with reqursive in for .. in loop, but something wrong in work. 在for .. in循环中有需要调用的调用函数,但是在工作中出了点问题。 As I think reason in loop but I can not understand why.
正如我认为原因循环,但我不明白为什么。 Help somebody!
帮助别人!
<html>
<head>
<meta charset="utf-8">
<title>Test html with js tasks</title>
<script type="text/javascript" src='./2.js'></script>
</head>
<body>
<script type="text/javascript">
var objSample = {
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
};
findProperty(objSample, 'SGML');
</script>
Pikabu
</body>
</html>
and source code for 2.js: 和2.js的源代码:
function findProperty(obj, propContentPart) {
for (var key in obj) {
var value = obj[key];
if (typeof value === 'object') {
if (findProperty(value, propContentPart)) {
console.log(key);
return true;
}
} else {
if (value.indexOf(propContentPart) > -1){
console.log(key);
return true;
}
}
}
}
output is: 输出为:
ID
GlossEntry
GlossList
GlossDiv
glossary
But expected also SortAs and Acronym. 但也期望SortAs和首字母缩写词。 Why so?
为什么这样?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.