javascript - 从函数内的 forEach 内的 if 语句返回
问题描述
我编写了一个小函数,它迭代一个多维对象,如果在两个变量之间找到匹配项,则应该返回结果。
这是我的完整功能:
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
. 似乎虽然找到了匹配,但它没有正确返回,请参阅下面的调整功能:
function getData(config) {
var code = "GB";
var result = Object.keys(config).forEach(function(country) {
if( Object.keys(config[country]).toString() === code ) {
return config[country][code]; // { data: "my correct matching data" }
}
});
return result; // undefined
}
任何想法为什么结果没有完全返回?我猜我错过了某个地方的回报。
解决方案
推荐阅读
- android - 对象实例化后的回调,包含异步函数
- solr - 无法访问 smartedit url https://localhost:9002/smartedit
- odoo - ValueError:时间数据“dateConstat”与格式不匹配
- jquery - 如何检查 .closest 选择是否具有 jQuery 值?
- pandas - dask 数据框是否应用保留行顺序?
- django - 在 django 视图中手动更新模型的 FileField
- python - 如何在Python中对齐两个不同长度的数组(使用没有匹配元素的NaN)
- android - Flutter:如何将变量从 StatelessWidget 传递到 StatefulWidget
- c# - C# 登录表单、登录按钮、安全性
- python - 将 docx 表转换为 html(保留所有格式)或要在 html 中使用的图像