问:JavaScript 如何查找对象中某个 value 并返回路径上所有的 key?
let obj = {
key1: 'str1',
key2: {
key3: 'str3'
},
key4: {
key5: {
key6: 'str6',
key7: 'str7'
},
key8: 'str8'
},
key9: 'str9'
};
有例如上面这样一个对象,要求封装一个函数,传入对象和某个 value,返回该 value 路径上的 key。比如:searchKeys(obj, "str3"),得到 "key3, key2"。—— 来源于 @zanetti 的一篇 「博问」
我本想在该「博问」下作答,但是「博客园」提示我注册尚且不满 24 小时,不允许我回答「博问」栏目的问题。好吧,我确实是 3 月 16 日晚上刚刚注册的「博客园」账号,既然无法回答那就干脆写第一篇博客。博客的申请在 3 月 17 日早上刚刚审核通过。
言归正传,这题要求遍历对象,而本质其实就是对一个多叉树进行递归。
- 封装函数并遍历对