javascript - 根据父 ID 对节点进行排序
问题描述
想在调用其父节点之前对我的数据进行排序
[
{
"id": 7832454551,
"name": "usr",
"type": "DIRECTORY"
},
{
"id": 7832454554,
"name": "applications",
"type": "DIRECTORY",
"parentId": 7832454553
},
{
"id": 7832454555,
"name": "mimeinfo.cache",
"type": "FILE",
"parentId": 7832454554
},
{
"id": 7832454553,
"name": "share",
"type": "DIRECTORY",
"parentId": 7832454552
},
{
"id": 7832454552,
"name": "local",
"type": "DIRECTORY",
"parentId": 7832454551
}
]
想要使用 javascript 更新这样的数据
[
{
"id": 7832454551,
"name": "usr",
"type": "DIRECTORY"
},
{
"id": 7832454552,
"name": "local",
"type": "DIRECTORY",
"parentId": 7832454551
},
{
"id": 7832454553,
"name": "share",
"type": "DIRECTORY",
"parentId": 7832454552
},
{
"id": 7832454554,
"name": "applications",
"type": "DIRECTORY",
"parentId": 7832454553
},
{
"id": 7832454555,
"name": "mimeinfo.cache",
"type": "FILE",
"parentId": 7832454554
}
]
解决方案
试试这个
const sortedData = [
{
"id": 7832454551,
"name": "usr",
"type": "DIRECTORY"
},
{
"id": 7832454554,
"name": "applications",
"type": "DIRECTORY",
"parentId": 7832454553
},
{
"id": 7832454555,
"name": "mimeinfo.cache",
"type": "FILE",
"parentId": 7832454554
},
{
"id": 7832454553,
"name": "share",
"type": "DIRECTORY",
"parentId": 7832454552
},
{
"id": 7832454552,
"name": "local",
"type": "DIRECTORY",
"parentId": 7832454551
}
].sort(function(a,b){
if(a.parentId!= undefined && b.parentId != undefined){
return a.parentId > b.parentId
}
return false;
});
console.log(sortedData);
推荐阅读
- c++ - 在自己的初始化中使用内在函数
- sql-server - 如何使用 nodejs 在 mssql 中运行模式创建 sql 脚本?
- python - 来自 color dict python 的散点图图例
- java - 取决于计算机,无法使用 ProcessBuilder 运行 exe 文件
- abap - 复选框多选过滤器
- javascript - 如何使用 React 中的表单来编辑另一个 React 组件中的项目?
- python - Twilio SMS Python - 简单发送消息
- android - 带有可反射的颤振反射:需要工作示例
- javascript - json 到 javascript 变量 zendesk
- javascript - 使用jquery获取div元素中的值列表