Tengo debajo de la variable con una matriz de objetos
let Obj1 = [ {Id: 123, name: 'A'}, {Id: 124, name: 'B'}, {Id: 125, name: 'C'}, {Id: 126, name: 'D'}, {Id: 127, name: 'E'} ] let Obj2 = {Id:126, name: 'D'}
¿Cómo muevo el Obj2 en Obj1 al índice 0 de forma dinámica en Javascript o TypeScript? Obj2 es del backend y Obj1 son los datos que ya están presentes en el frontend El resultado final debe ser el siguiente
[ {Id: 126, name: 'D'}, {Id: 123, name: 'A'}, {Id: 124, name: 'B'}, {Id: 125, name: 'C'}, {Id: 127, name: 'E'} ]
let Obj1 = [ {id: 123, name: 'A'}, {id: 124, name: 'B'}, {id: 125, name: 'C'}, {id: 126, name: 'D'}, {id: 127, name: 'E'} ]; let Obj2 = {id:126, name: 'D'}; let new_array = Obj1.reduce((curr, acc)=>(acc.id === Obj2.id ? curr.unshift(acc) : curr.push(acc), curr), []); console.log(new_array);
por favor intente esto
let Obj1 = [ { "Id":123, "name":"A" }, { "Id":124, "name":"B" }, { "Id":125, "name":"C" }, { "Id":126, "name":"D" }, { "Id":127, "name":"E" } ] let Obj2 = { "Id":126, "name":"D" } /* if Obj2 isn't in the array called Obj1... put Obj2 at the front of the Obj1 array */ if (Obj1.indexOf(Obj2) == -1) { Obj1.unshift(Obj2); }
let Obj1 = [ {Id: 123, name: 'A'}, {Id: 124, name: 'B'}, {Id: 125, name: 'C'}, {Id: 126, name: 'D'}, {Id: 127, name: 'E'} ] let Obj2 = {Id:126, name: 'D'} for (let i = 0; i < Obj1.length; i++) { if (Obj1[i].Id === Obj2.Id && Obj1[i].name === Obj2.name) { Obj1.splice(i, 1) Obj1.unshift(Obj2) break } } console.log(Obj1)