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)是第一个,子节点也是未排序的。父/密钥对是确定关系的唯一方法。所以我的问题是如何按照正确的关系对父/键对进行排序。