si tengo un arreglo: [1,2,3,4]
y otro arreglo de objetos:
[{id:2, name:"Alexa"}, {id:1, name:"John"},{id:5 , name:"Mary"},{id:4, name:"Peter"} ],
¿Cómo puedo hacer una función óptima para ordenar según la primera matriz? resultado:
[{id:1, name:"John"},{id:2, name:"Alexa"},{id:4, name:"Peter"},{id:5, name:"Mary"} ]
Le agradezco mucho su atención.
¿Esto es lo que necesitas?
const initialArr = [ { id: 2, name: "Alexa" }, { id: 1, name: "John" }, { id: 5, name: "Mary" }, { id: 9, name: "Zuzu" }, { id: 3, name: "Mary" }, { id: 4, name: "Peter" } ]; const arr = [1, 2, 3, 4]; initialArr.sort((a, b) => { const getTypeIndex = (x) => arr.indexOf(x.id); return getTypeIndex(a) - getTypeIndex(b) && a.id - b.id; }); console.log(initialArr);