Tengo una serie de objetos como este:
const attendList = [ { "first": "John", "last": "Foo", "uid": "-Lz8YxIYM_4L3f9nKM70", }, { "first": "Jake", "last": "Foo", "uid": "-Lz8YxIYM_4L3fsdfM70", } ... ]Entonces tengo una matriz que contiene las claves.
const found = ["-Lz8YxIYM_4L3fsdfM70", "-Lz8YxIYM_4L3fsdf333", "-Lz8YxIYM_r4hfsdf333" ]Quiero ordenar la lista de asistencia colocando los elementos que se encuentran al final de la lista. Mi intento incorrecto (usando lodash) es:
let SetItemsLast = _.sortBy(attendList, ({uid}) => found.includes(uid) ? 0:1);Obviamente no lo estoy haciendo correctamente. ¿Cómo puedo resolver esto?
Intente esto si necesita mantener los elementos de la lista de asistencia en orden.
let SetItemsLast = attendList.sort((a, b)=>{ if(found.includes(a.uid)){ return 1; } if(found.includes(b.uid)){ return -1; } return 0; });Si no le importa si los elementos en la parte inferior permanecen en orden, puede hacer esto.
let SetItemsLast = attendList.sort((a, b)=>{ return found.includes(b.uid) ? -1:0; });