javascript - 使用递归函数迭代嵌套对象,返回未定义
问题描述
我需要遍历一个嵌套函数并找到与我想要的具有相同键的子对象。这是代码:
const searchObject = (obj, label) => {
const object = Object.keys(obj).forEach(key => {
if(label === key) {
return obj[key];
} else if(typeof obj[key] === "object") {
const value = searchObject(obj[key], label);
if(value) return value;
}
});
return object;
};
我进行了很多搜索,发现很多人都在推荐这种方式,但我不知道为什么我在登录 console.log(searchObject(obj, "Intercept")) 时会变得未定义。(我正在使用 React 框架)
解决方案
const searchObject = (obj, label) => {
var object = {}
Object.keys(obj).forEach(key => {
if(label === key) {
object = obj[key];
} else if(typeof obj[key] === "object") {
const value = searchObject(obj[key], label);
if(value) object = return value;
}
});
return object;
};
推荐阅读
- security - 在 MAMP 上更新 CA 证书包
- java - 如何使用 java 8 流将多维字符串数组(String[][])转换为多维双精度数组(double[][])?
- css - 试图在 CSS 中编写关于 Turbo 主题/Shopify 的媒体查询但它不起作用?
- php - 需要帮助将 HTML 和 PHP 块转换为我可以随意调用的变量/函数
- powerbi - 是否可以在 PBI 卡视觉中具有 2 种不同的字体大小
- python - 为“警告”设置异常断点
- charts - echart为xAxis.axisLabel的富文本的不同部分绑定不同的点击事件处理程序?
- react-native - React Native:react-native-toggle-element 不起作用
- c# - 如何更新form2中的数据而不创建form2的新实例
- python - (Python,Panda)重新排序标题及其各自的子标题