怎么样根据 JSON 中的某个字段对其进行排序?
我有一个
json
,具体格式如下:
{
"text": {
"name": "待确定",
"desc": "22146",
"title": "1"
},
"children": [{
"text": {
"name": "王小和",
"desc": "12037",
"title": "0|王小和|78|192|无业"
},
"children": [{
"text": {
"name": "陈合松",
"desc": "5944",
"title": "0|陈合松|50|192|粮农"
},
"children": [],
"image": "/Images/40-60.png"
}],
"image": "/Images/60.png"
}, {
"text": {
"name": "王用兵",
"desc": "12071",
"title": "0|王用兵|72|192|粮农"
},
"children": [{
"text": {
"name": "王新艳",
"desc": "6247",
"title": "0|王新艳|39|192|粮农"
},
"children": [{
"text": {
"name": "王浩洋",
"desc": "20955",
"title": "0|王浩洋|8|192|/"
},
"children": [],
"image": "/Images/3-9.png"
}],
"image": "/Images/30-40.png"
}],
"image": "/Images/60.png"
}, {
"text": {
"name": "王和木",
"desc": "12076",
"title": "0|王和木|76|192|无业"
},
"children": [{
"text": {
"name": "王宇松",
"desc": "6304",
"title": "0|王宇松|47|192|粮农"
},
"children": [{
"text": {
"name": "王权",
"desc": "20370",
"title": "0|王权|16|192|/"
},
"children": [],
"image": "/Images/9-18.png"
}],
"image": "/Images/40-60.png"
}],
"image": "/Images/60.png"
}, {
"text": {
"name": "王水红",
"desc": "12096",
"title": "0|王水红|77|192|无业"
},
"children": [],
"image": "/Images/60.png"
}, {
"text": {
"name": "王吉恒",
"desc": "11868",
"title": "0|王吉恒|73|192|粮农"
},
"children": [{
"text": {
"name": "王小兵",
"desc": "3966",
"title": "0|王小兵|44|192|粮农"
},
"children": [],
"image": "/Images/40-60.png"
}],
"image": "/Images/60.png"
}, {
"text": {
"name": "王和龙",
"desc": "15862",
"title": "0|王和龙|66|192|粮农"
},
"children": [],
"image": "/Images/60.png"
}],
"image": "/Images/userpic_default.png"
}
每个 children
里是一个数组,我需要排序的就是这个数组里面的元素,每个元素中又有 children
,所有的 children
都要进行排序。其实就是一颗树,然后排序的话是依据 text
中的 title
来进行降序排。
"0|陈合松|50|192|粮农"
具体是第二个管道符后面的一个数字(代表这个人的年龄)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你的意思是,内部排序与外部排序无关的话。
那一样是用数组sort方法进行排序。再然后,逐层递归,或者每一个'childre'遍历排序就可以了。
数据做了简化处理,所以'titile'这里也偷了懒。 比较的title字段,可以自己写正则,或者如下
获取到之后,再比较,简单加到sortFn的比较字段就行。