假设我有一个对象数组:
let arrOfObjs = [
{
"id": "unique1",
"parentId": "unique3", // So this one is equal to arrOfObjs[2].id
"title": "title1"
},
{
"id": "unique2",
"parentId": "unique3", // This one is also equal to arrOfObjs[2].id
"title": "title2"
},
{
"id": "unique3",
"parentId": "",
"title": "title3"
}
]
情况是:
- id始终是唯一的
- parentId不唯一。parentId等于其中一个对象中的ID之一
我想要达到的目标:
在数组中,id应该总是早于parentId。在上面的例子中,前两个对象包含**'unique3'**(3d对象的id)作为parentId。这种情况不应该发生。
所以应该这样排序:
let arrOfObjs = [
{
"id": "unique3",
"parentId": "",
"title": "title3"
}
{
"id": "unique2",
"parentId": "unique3",
"title": "title2"
},
{
"id": "unique1",
"parentId": "unique3",
"title": "title1"
}
]
所以基于对象的parentId,它应该找到与parentId相等的id,当具有该id的对象的索引更高时,该对象应该排在第一位。
这有点难以解释,但我希望它是明确的,让我知道,如果你有任何问题
还没有尝试过任何东西,不知道如何才能做到这一点。
2条答案
按热度按时间wgx48brx1#
试试这个:
vhmi4jdf2#
您可以存储所有
id
的位置并按parentId
排序。