Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取深度嵌套对象中特定键的所有路径_Javascript_Object_Recursion - Fatal编程技术网

Javascript 获取深度嵌套对象中特定键的所有路径

Javascript 获取深度嵌套对象中特定键的所有路径,javascript,object,recursion,Javascript,Object,Recursion,如何递归搜索深度嵌套对象中的特定键 例如: let myObject = {a: {k:111, d:3}, b:"2", c: { b: {k: 222}}, d: {q: {w: k: 333}}} } let result = findAllPaths(myObject, "k") // result = [a.k, c.b.k, d.q.w.k] 结果应该是嵌套对象中任意位置的键的所有路径的列表您可以使用for…in循环创建递归函数来执行此操作 让myObject={a:{k:

如何递归搜索深度嵌套对象中的特定键

例如:

let myObject = {a: {k:111, d:3},  b:"2", c: { b: {k: 222}}, d: {q: {w: k: 333}}} }
let result  = findAllPaths(myObject, "k")

// result = [a.k, c.b.k, d.q.w.k]

结果应该是嵌套对象中任意位置的键的所有路径的列表

您可以使用
for…in
循环创建递归函数来执行此操作

让myObject={a:{k:111,d:3},b:2,c:{b:{k:222},d:{q:{w:{k:333}}
函数getAllPath(对象,键,上一个=“”){
常量结果=[]
for(让k在obj中){
让path=prev+(prev?“:”)+k;
if(k==键){
结果。推送(路径)
}else if(对象的类型[k]=“对象”){
结果.推送(…GetAllPath(obj[k],键,路径))
}
}
返回结果
}
const result=getallpath(myObject,'k');

控制台日志(结果)您可以使用
for…in
循环创建递归函数来执行此操作

让myObject={a:{k:111,d:3},b:2,c:{b:{k:222},d:{q:{w:{k:333}}
函数getAllPath(对象,键,上一个=“”){
常量结果=[]
for(让k在obj中){
让path=prev+(prev?“:”)+k;
if(k==键){
结果。推送(路径)
}else if(对象的类型[k]=“对象”){
结果.推送(…GetAllPath(obj[k],键,路径))
}
}
返回结果
}
const result=getallpath(myObject,'k');

控制台日志(结果)是什么试图实现这个@IDiDimension的。请共享您的代码好吗?请共享您尝试过的代码或您到目前为止所做的研究。对象有语法错误
q.k.w
不正确。您是如何尝试实现此@I维度的。请共享您的代码好吗?请共享您尝试过的代码或您到目前为止所做的研究。对象有语法错误<代码>q.k.w
不正确。