我编写了一个小函数,该函数可在多维对象上进行迭代,如果在两个变量之间找到匹配项,则应返回结果。
这是我的全部功能:
ServerAlias subdomain.domain1.example
在最深的function getData(config) {
var code = "GB";
return Object.keys(config).forEach(function(country) {
if( Object.keys(config[country]).toString() === code ) {
return config[country][code]; // { data: "my correct matching data" }
}
});
}
点进行测试,我可以看到return
输出了我期望的结果。大!在config[country][code]
和config[country]
之间找到了匹配项,因此我想将其返回。
但是整个函数返回code
,但是即使将深度较浅的undefined
设置为将结果存储为变量,并检查其值,我也得到return
。似乎找到了匹配项,但未正确返回,请参见下面的调整函数:
undefined
有什么想法为什么结果不能完全返回?我猜我在某处缺少回报。