我有两个数组。它们都包含具有唯一id和parentid值的对象(给定的id仅为示例,在实际中它们由uuid生成器生成)。 第一个数组按照这样的方式排序,即具有与“parent”不同的parentid的对象紧随具有相应id的父对象之后:
const array1 = [
{ id: "id1", parentId: "parent" },
{ id: "id2", parentId: "id1" },
{ id: "id3", parentId: "id2" },
{ id: "id4", parentId: "id3" },
{ id: "id5", parentId: "id4" },
{ id: "id6", parentId: "parent" },
{ id: "id7", parentId: "id6" },
{ id: "id8", parentId: "id7" },
{ id: "id9", parentId: "parent" }
];
第二个是按“嵌套深度”排序的:
const array2 = [
{ id: "id1", parentId: "parent" },
{ id: "id6", parentId: "parent" },
{ id: "id9", parentId: "parent" },
{ id: "id2", parentId: "id1" },
{ id: "id7", parentId: "id6" },
{ id: "id3", parentId: "id2" },
{ id: "id8", parentId: "id7" },
{ id: "id4", parentId: "id3" },
{ id: "id5", parentId: "id4" },
];
什么是将array2按照array1的顺序重新排列的最佳方法?
{ id: "id2", parentId: "id2" },
看起来像是一个循环引用。 - Nina Scholz