Tengo un objeto con múltiples tareas. El desafío es clasificarlos en objetos separados, lo cual logré hacer con el código que sigue. Me gustaría saber cómo se puede ajustar esto a un estado en el que el ciclo ordenará las tareas sin tener que programarlo por separado (como una especie de función i++). ¿Alguna idea de cómo lograr esto?
const tasks = { title1: "Quiet Time", title2: "Study", title3: "Go Jogging", title4: "Eat Breakfast", description1: "", description2: "", decription3: "This is going to help to reach my goals and my life to the fullest", decription4: "", date1: "05/02/2020", date2: "01/02/2020", date3: "tomorrow", date4: "today", time1: "08:12", time2: "13:15", time3: "12:36", time4: "13:25", completed1: false, completed2: true, completed3: false, completed4: true, priority1: "red", priority2: "yellow", priority3: "black", priority4: "white", tags1: ["Personal", "Work", "School"], tags2: ["Personal", "School", "Diary Entry"], tags3: ["Content Creation", "Personal"], tags4: ["Personal"] } const task1 = {}; const task2 = {}; const task3 = {}; const task4 = {}; for (let [key, value] of Object.entries(tasks)) { if (key.endsWith('1')) { task1[key] = value; } if (key.endsWith('2')) { task2[key] = value; } if (key.endsWith('3')) { task3[key] = value; } if (key.endsWith('4')) { task4[key] = value; } }Al hacer coincidir el dígito final, puede tomarlo para colocarlo en el objeto apropiado.
Supongo que decription3 decription4 es un error tipográfico.
const tasks = { title1: "Quiet Time", title2: "Study", title3: "Go Jogging", title4: "Eat Breakfast", description1: "", description2: "", description3: "This is going to help to reach my goals and my life to the fullest", description4: "", date1: "05/02/2020", date2: "01/02/2020", date3: "tomorrow", date4: "today", time1: "08:12", time2: "13:15", time3: "12:36", time4: "13:25", completed1: false, completed2: true, completed3: false, completed4: true, priority1: "red", priority2: "yellow", priority3: "black", priority4: "white", tags1: ["Personal", "Work", "School"], tags2: ["Personal", "School", "Diary Entry"], tags3: ["Content Creation", "Personal"], tags4: ["Personal"] }; const tasksSorted = {}; for (const [key, value] of Object.entries(tasks)) { const num = key.match(/\d+$/)[0]; tasksSorted[num] ?? = {}; tasksSorted[num][key] = value; } console.log(tasksSorted);