Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带for的js递归函数_Javascript - Fatal编程技术网

Javascript 带for的js递归函数

Javascript 带for的js递归函数,javascript,Javascript,在for.中有带请求的调用函数。。在循环中,但工作中出现了问题。正如我所想,原因是循环的,但我不明白为什么。救人 用js任务测试html var objSample={ 词汇表:{ 标题:示例词汇表, 格洛斯迪夫:{ 标题:S, GlossList:{ 格洛森特里:{ ID:SGML, 飞行架次:SGML, GlossTerm:标准通用标记语言, 缩写:SGML, 缩写:ISO 8879:1986, GlossDef:{ para:一种元标记语言,用于创建标记语言,如DocBook。, glos

在for.中有带请求的调用函数。。在循环中,但工作中出现了问题。正如我所想,原因是循环的,但我不明白为什么。救人

用js任务测试html var objSample={ 词汇表:{ 标题:示例词汇表, 格洛斯迪夫:{ 标题:S, GlossList:{ 格洛森特里:{ ID:SGML, 飞行架次:SGML, GlossTerm:标准通用标记语言, 缩写:SGML, 缩写:ISO 8879:1986, GlossDef:{ para:一种元标记语言,用于创建标记语言,如DocBook。, glosssee也:[GML,XML] }, glossee:标记 } } } } }; findPropertyobjSample,“SGML”; 皮卡布 和2.js的源代码:

函数findPropertyobj,propContentPart{ 对于obj中的var键{ var值=obj[键]; 如果typeof值==='object'{ 如果findPropertyvalue,则为propContentPart{ console.logkey; 返回true; } }否则{ 如果value.indexOfpropContentPart>-1{ console.logkey; 返回true; } } } } 输出为:

ID
GlossEntry
GlossList
GlossDiv
glossary
但预计也有空位和首字母缩略词。为什么会这样

使用typeof时要小心,例如,在数组上使用typeof会给出“object”。我更喜欢使用instanceof Object来检查请求者道具是否是一个对象。 indexOf仅适用于数组,不适用于对象。为了给出预期的结果,sorta:SGML和Acronym:SGML应该是arrays:Acronym:[SGML]
当您找到匹配项时,您将从函数返回。循环的其余部分将不会执行。因此没有排序或首字母缩写。你真的想要GlossEntry,GlossList,GlossDiv和glossary吗?你们到底想在这里做什么?我试图记录每个属性的路径,这些属性将包含传递的propContentPart。你是对的,在第一次返回后,我们一直从需求链中走出来。但为什么我们不转移到需求链的前一个层次呢?我们为什么马上出去?