Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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_Jquery - Fatal编程技术网

Javascript 如何在字符串中创建已排序的键/父项?

Javascript 如何在字符串中创建已排序的键/父项?,javascript,jquery,Javascript,Jquery,我的密钥/父级结构如下: [Object { parent="0", key="5961"}, Object { parent="5961", key="5960"}, Object { parent="5960", key="5826"}, Object { parent="5826", key="5841"}, Object { parent="5841", key="5915"}] $.each (data, function(index,value){ key +=

我的密钥/父级结构如下:

[Object { parent="0", key="5961"}, Object { parent="5961", key="5960"}, Object { parent="5960", key="5826"}, Object { parent="5826", key="5841"}, Object { parent="5841", key="5915"}]
$.each (data, function(index,value){    

    key += "/" +  value.key;    

});
根对象为parent=“0”所有其他对象都是子对象,其求解方式如下:

[Object { parent="0", key="5961"}, Object { parent="5961", key="5960"}, Object { parent="5960", key="5826"}, Object { parent="5826", key="5841"}, Object { parent="5841", key="5915"}]
$.each (data, function(index,value){    

    key += "/" +  value.key;    

});
当我有更多根对象并且需要第一个根然后是所有子对象时,问题就开始了…第二个根然后是所有子对象,依此类推…这是有问题的对象:

[Object { parent="0", key="5961"}, Object { parent="0", key="5962"}, Object { parent="5961", key="5960"}, Object { parent="5824", key="2237"}, Object { parent="5962", key="5824"}, Object { parent="5960", key="5826"}, Object { parent="2237", key="5834"}, Object { parent="2237", key="5838"}, Object { parent="5826", key="5841"}, Object { parent="2237", key="5843"}, Object { parent="5865", key="5846"}, Object { parent="5865", key="5862"}, Object { parent="5838", key="5865"}, Object { parent="5843", key="5874"}, Object { parent="5834", key="5894"}, Object { parent="5865", key="5912"}, Object { parent="5841", key="5915"}, Object { parent="5865", key="5935"}]
如您所见,有两个root parent=“0”。可以有两个以上的根节点


谢谢。

这是您实际的JavaScript代码,还是只是一些控制台输出?为什么不将它们视为具有单个根来解决这个问题;有一个
{'parent':'-1','key':'0'}
,然后删除当前代码生成的初始
/
?这就是问题所在。它们不是按根节点排序的,因为您可以看到两个根节点(parent=0)是第一个,子节点也是未排序的。父/密钥对是确定关系的唯一方法。所以我的问题是如何按照正确的关系对父/键对进行排序。