Раз такое дело,
Дмитрий Беляев,
Роман, оцените.)
(() => {
const orderArray = (arr) => {
const itemsForMap = arr.map((items) => ([items[0], { items, prev: undefined }]))
const itemsMap = new Map(itemsForMap);
let last;
itemsMap.forEach((node) => {
const next = itemsMap.get(node.items[1]);
if(next) {
next.prev = node;
}
else {
last = node;
}
});
const result = [];
result.length = arr.length;
let current = last;
for(let i = result.length - 1; i > -1; i--) {
result[i] = current.items;
current = current.prev;
}
return result;
};
return orderArray([['butter', 'jelly'], ['bananas', 'apples'], ['peanuts', 'butter'], ['jelly', 'bananas']]);
})()
Вроде всё верно, но я это в 7 утра перед сном писал...