有json
{"Data": [{"Uzel": "asd","Number": "1","Parent": "0","Update": "3"},{"Uzel": "asd","Number": "1.1","Parent": "1","Update": "2"},{"Uzel": "asd","Number": "2.2.1.2.1.2","Parent": "2.2.1.2.1","Update": "0"},{"Uzel": "asd","Number": "1.1.1","Parent": "1.1","Update": "2"},{"Uzel": "asd","Number": "1.1.2","Parent": "1.1","Update": "0"},{"Uzel": "zxc","Number": "1.1.3","Parent": "1.1","Update": "0"},{"Uzel": "ert","Number": "1.1.4","Parent": "1.1","Update": "0"},{"Uzel": "fgh","Number": "1.2","Parent": "1","Update": "0"},{"Uzel": "cvb","Number": "1.2.1","Parent": "1.2","Update": "0"},{"Uzel": "2012 год ","Number": "1.2.2","Parent": "1.2","Update": "0"},{"Uzel": "uio","Number": "1.2.3","Parent": "1.2","Update": "0"},{"Uzel": "2014 год ","Number": "1.2.4","Parent": "1.2","Update": "0"},{"Uzel": "xxx","Number": "1.2.5","Parent": "1.2","Update": "0"},{"Uzel": "xxx","Number": "1.3","Parent": "1","Update": "0"},{"Uzel": "zzz","Number": "1.3.1","Parent": "1.3","Update": "0"},{"Uzel": "aaa","Number": "1.3.2","Parent": "1.3","Update": "0"},{"Uzel": "qqq","Number": "1.3.3","Parent": "1.3","Update": "0"},{"Uzel": "vvv","Number": "1.3.4","Parent": "1.3","Update": "0"},{"Uzel": "vvv","Number": "1.4","Parent": "1","Update": "0"},{"Uzel": "www","Number": "1.4.1","Parent": "1.4","Update": "0"},{"Uzel": "eee","Number": "1.4.2","Parent": "1.4","Update": "0"},{"Uzel": "uuu","Number": "1.4.3","Parent": "1.4","Update": "0"},{"Uzel": "iii","Number": "1.4.4","Parent": "1.4","Update": "0"},{"Uzel": "ttt","Number": "1.4.5","Parent": "1.4","Update": "0"},{"Uzel": "uuu","Number": "1.4.6","Parent": "1.4","Update": "0"},{"Uzel": "nnn","Number": "1.5","Parent": "1","Update": "0"},{"Uzel": "ooo","Number": "1.5.1","Parent": "1.5","Update": "0"},{"Uzel": "nnn","Number": "1.5.2","Parent": "1.5","Update": "0"},{"Uzel": "ppp","Number": "1.5.3","Parent": "1.5","Update": "0"},{"Uzel": "bbb","Number": "1.5.4","Parent": "1.5","Update": "0"},{"Uzel": "fff","Number": "1.5.5","Parent": "1.5","Update": "0"},{"Uzel": "jjj","Number": "1.5.6","Parent": "1.5","Update": "0"},{"Uzel": "lll","Number": "2","Parent": "0","Update": "0"},{"Uzel": "mmm","Number": "2.1","Parent": "2","Update": "0"},{"Uzel": "eee","Number": "2.1.1","Parent": "2.1","Update": "0"},{"Uzel": "rrr","Number": "2.1.1.1","Parent": "2.1.1","Update": "0"},{"Uzel": "opop","Number": "2.1.1.1.1","Parent": "2.1.1.1","Update": "0"},{"Uzel": "asd","Number": "2.1.1.1.2","Parent": "2.1.1.1","Update": "0"},{"Uzel": "asd","Number": "2.1.1.1.3","Parent": "2.1.1.1","Update": "0"},{"Uzel": "asd","Number": "2.1.1.2","Parent": "2.1.1","Update": "0"},{"Uzel": "asd","Number": "2.1.1.2.1","Parent": "2.1.1.2","Update": "0"},{"Uzel": "fgh","Number": "2.1.1.2.2","Parent": "2.1.1.2","Update": "0"},{"Uzel": "tyu","Number": "2.1.1.3","Parent": "2.1.1","Update": "0"},{"Uzel": "uio","Number": "2.1.1.4","Parent": "2.1.1","Update": "0"},{"Uzel": "zxc","Number": "2.1.1.5","Parent": "2.1.1","Update": "0"},{"Uzel": "dsa","Number": "2.1.1.5.1","Parent": "2.1.1.5","Update": "0"},{"Uzel": "poi","Number": "2.1.2","Parent": "2.1","Update": "0"},{"Uzel": "qaxz","Number": "2.1.2.1","Parent": "2.1.2","Update": "0"},{"Uzel": "ert","Number": "2.1.2.1.1","Parent": "2.1.2.1","Update": "0"}]}
它需要转换成这个
{"Data": [{"Uzel": "asd","Number": "1","Parent": "0","Update": "3", children:[{"Uzel": "asd","Number": "1.1","Parent": "1","Update": "2","children":[{"Uzel": "asd","Number": "1.1.1","Parent": "1.1","Update": "2"},{"Uzel": "asd","Number": "1.1.2","Parent": "1.1","Update": "0"},{"Uzel": "zxc","Number": "1.1.3","Parent": "1.1","Update": "0"},{"Uzel": "ert","Number": "1.1.4","Parent": "1.1","Update": "0"}],{"Uzel": "fgh","Number": "1.2","Parent": "1","Update": "0"}}]}]}
也就是再增加一个参数children,把parent与另一个元素的编号相关联的数组的所有元素都放到这个元素里面。
嵌套是多层次的——孩子可以有自己的孩子,他有自己的孩子,等等。
我明白递归,但我做不到,请帮忙。我不发送代码,因为根不正确。JavaScript
我确信代码远非最优的理想,但现在不能闲着想更长的时间)
输出是一个与输入类型相同的对象,但具有递归堆叠的子对象。在数组的根部,对于给定的数据,只有三个对象,编号为 1、2 和 2.2.1.2.1.2(一个孤儿,唉)。