Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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_Tree - Fatal编程技术网

Javascript 如何在圆形地图中获得儿童

Javascript 如何在圆形地图中获得儿童,javascript,tree,Javascript,Tree,也许我只是个傻瓜,但我现在不能让它工作。 我尝试在一个对象中获取一个属性的所有子对象,并使用一系列子道具。它应该包括结构中的所有节点 基本上,数组作为值,包含更多的道具,这些道具也存在于地图中。这是一种假树结构 这是输入: const input = { a: ["b", "c"], b: ["d", "e"], c: ["f", "g"] } 作为输出,我希望函数调用的结果,如getChildrenOfProp(输入,“a”)会产生以下结果: getChildrenOfProp(

也许我只是个傻瓜,但我现在不能让它工作。 我尝试在一个对象中获取一个属性的所有子对象,并使用一系列子道具。它应该包括结构中的所有节点

基本上,数组作为值,包含更多的道具,这些道具也存在于地图中。这是一种假树结构

这是输入:

const input = {
  a: ["b", "c"],
  b: ["d", "e"],
  c: ["f", "g"]
}
作为输出,我希望函数调用的结果,如
getChildrenOfProp(输入,“a”)
会产生以下结果:

getChildrenOfProp(input, "a");
// results in ["b", "c", "d", "e", "f", "g"]
// because "b" & "c" are present in map and have more children ..

getChildrenOfProp(input, "b");
// results in ["d", "e"]
// no more children because "d" & "e" are not present in the map ..

无论何时处理任何与树相似的东西,都可能需要递归

类似这样的方法会奏效:

函数getChildrenOf(输入,目标){ 让结果=[目标]; //通过儿童反复出现 如果(输入[目标]){ input[target].forEach(child=>result=result.concat(getChildrenOf(input,child)); } 返回结果; } 常量输入={ a:[b',[c'], b:[d',[e'], c:[f',g'], h:['i','l']//不是用 }
console.log(getChildrenOf(input,'a'))第二个参数的用途是什么?获取所有子参数的属性@Nikhil Aggarwal你能进一步解释一下吗?我想我还不太明白…是那个经过调整的人干的!谢谢