Estoy buscando un fragmento de código mecanografiado para obtener un orden personalizado de la matriz de objetos, enumerando los objetos en orden por tipo ficción, romance, otro, drama, comedia.
Probé .find() y push(); .clasificar(); pero no sentí que es el camino correcto.
por favor avise
la pregunta anterior no resuelve mi caso de uso. stackoverflow.com/questions/6913512/… no es un tipo directo. Lo necesito para ordenar por orden personalizado ficción romance, otro, drama, comedia.
{ "userId": 1, "id": 1, "title": "delectus aut autem", "type": "fiction", "completed": false }, { "userId": 1, "id": 2, "title": "quis ut nam facilis et officia qui", "type": "drama", "completed": false }, { "userId": 1, "id": 3, "title": "fugiat veniam minus", "type": "fiction", "completed": false }, { "userId": 1, "id": 4, "title": "et porro tempora", "type": "comedy", "completed": true }, { "userId": 1, "id": 5, "title": "laboriosam mollitia et enim quasi adipisci quia provident illum", "type": "fiction", "completed": false }, { "userId": 1, "id": 6, "title": "qui ullam ratione quibusdam voluptatem quia omnis", "type": "romance", "completed": false }, { "userId": 1, "id": 7, "title": "illo expedita consequatur quia in", "type": "other", "completed": false }```Tu puedes hacer:
const data = [{userId: 1,id: 1,title: "delectus aut autem",type: "fiction",completed: false,},{userId: 1,id: 2,title: "quis ut nam facilis et officia qui",type: "drama",completed: false,},{userId: 1,id: 3,title: "fugiat veniam minus",type: "fiction",completed: false,},{userId: 1,id: 4,title: "et porro tempora",type: "comedy",completed: true,},{userId: 1,id: 5,title: "laboriosam mollitia et enim quasi adipisci quia provident illum",type: "fiction",completed: false,},{userId: 1,id: 6,title: "qui ullam ratione quibusdam voluptatem quia omnis",type: "romance",completed: false,},{userId: 1,id: 7,title: "illo expedita consequatur quia in",type: "other",completed: false}] const order = ['fiction', 'romance', 'other', 'drama', 'comedy'] const dataHash = data.reduce((a, c) => { a[c.type] = a[c.type] || { array: [] } a[c.type].array.push(c) return a }, {}) const result = order.map(o => dataHash[o].array).flat() console.log(result)