Я подойду к этому, сначала сгенерировав новый вход с заменой parent email
на parent id
и новым свойством уровня узла, связанным с деревом, которому они принадлежат. Тогда мы можем отсортировать узлы по этому свойству level
, а по равному level
мы отсортируем по id
.
const input = [
{"id": 1, "email": "a@b.com", "parent": "c@b.com"},
{"id": 2, "email": "b@b.com", "parent": null},
{"id": 3, "email": "c@b.com", "parent": "b@b.com"},
{"id": 4, "email": "d@b.com", "parent": "a@b.com"},
{"id": 5, "email": "x@b.com", "parent": "b@b.com"},
{"id": 6, "email": "z@b.com", "parent": "x@b.com"},
{"id": 7, "email": "y@b.com", "parent": null},
{"id": 8, "email": "m@b.com", "parent": "y@b.com"}
];
const findParent = (mail) => input.find(x => x.email === mail);
const getLevel = (mail, lvl) =>
{
return mail ? getLevel(findParent(mail).parent, lvl + 1) : lvl;
}
let newInput = input.map(({id, email, parent}) =>
{
return {
id: id,
email: email,
parent: findParent(parent) ? findParent(parent).id : null,
lvl: getLevel(parent, 0)
};
});
let sortedInput = newInput.sort((a, b) =>
{
return (a.lvl - b.lvl) ? a.lvl - b.lvl : a.id - b.id;
});
console.log(sortedInput);
Вы могли попытаться записать
call mvn package -o -P local
Вот взлом, который я нашел здесь:
ping 1.0.0.0 -n 1 -w 5000 >NUL
Это проверит с помощью ping-запросов недостижимый хост с промежуточной паузой. Также стандартный вывод перенаправляется так, Вы не видите его в своем выводе. Не лучшее решение, но будет работать в повышении.
Инструменты Набора Ресурса Windows Server 2003 обеспечивают функцию сна командной строки: