¿Hay alguna manera de llevar el objeto relacionado al primer índice de la matriz usando la función de sort ?
Esto es lo que probé usando sort solamente
const arr = [{ id: 'a', name: 'test name 1' }, { id: 'b', name: 'test name 2' }, { id: 'c', name: 'test name 3' } ]; const testId = 'c'; const sortedArr = arr.sort((a, b) => a.id === testId || b.id === testId ? 1 : -1); console.log(sortedArr); // logs b, a, c but the expected result is c, a, bEl problema aquí es que cada vez que a OR b es el testId , será "golpeado". Entonces, si marca solo un valor, funciona.
Aquí un ejemplo:
const arr = [ { id: 'c' }, { id: 'a' }, { id: 'b' } ]; function checkFor(myList, testId) { console.log('Checking for ' + testId); const sortedArr = arr.sort((a, b) => b.id === testId ? 1 : -1); console.log(sortedArr); } checkFor(arr, 'c'); checkFor(arr, 'b');