Есть не сортированный массив, который нужно отсортировать по принципу если value текущего элемента равно val следующего то в начале идет текущий элемент, затем следующий элемент удовлетворяющий данному условию, проход массива начинается с элемента со значением val: one;
Достаточно долго бьюсь с данной задачей и хотелось бы уже узнать, можно ли решить данную задачу с помощью reduce или filter
[
{val: 'one', value: 'two', someVal: 222},
{val: 'three', value: 'four', someVal: 26346},
{val: 'two', value: 'three', someVal: 7565},
{val: 'six', value: 'one', someVal: 227745}
]
На выходе должен получиться такой результат:
[
{val: 'one', value: 'two', someVal: 222},
{val: 'two', value: 'three', someVal: 7565},
{val: 'three', value: 'four', someVal: 26346},
{val: 'six', value: 'one', someVal: 227745}
]
filter ничего сортировать не будет. Он что-то оставит, а что-то 'удалит' из исходного массива. Наверное проще все же использовать предназначенный для этого sort
console.log([
{val: 'one', value: 'two', someVal: 222},
{val: 'three', value: 'four', someVal: 26346},
{val: 'two', value: 'three', someVal: 7565},
{val: 'six', value: 'one', someVal: 227745}
].sort((a,b)=>a.val===b.value));
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости