发布于 

TypeScript遍历嵌套特定key

使用递归函数和循环来查找或者修改特定键值

功能需求

需要实现一个函数,能够递归地遍历一个嵌套的对象,找到一个特定的键,并返回它的值

前置知识点

  • 对象和数组的概念和操作方法
  • 递归函数的定义和使用方法
  • for…in循环和for…of循环的区别和用法

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const findKey = (obj, key, result)=> {
if (typeof obj !== "object" || obj === null) return;
 for (let prop in obj) {
   if (prop === key) result.push(obj[prop]);
else findKey(obj[prop], key, result);
}
return result;
}
let obj = {
a: {
b: {
c: "d",
e: ["f", "g"],
h: {
i: "j",
},
},
k: "l",
},
m: "n",
};

let result = findKey(obj, "h", []);
console.log(result); // [{i: 'j'}]

相关参考文档