Soy nuevo en js y lucho con objetos y matrices dentro de ellos. Obtuve meses y días en un objeto de evento events[month] = {dates: []} así:
events: (2) […] 5: {…} dates: (9) […] 0: 5 1: 12 2: 19 3: 26 4: 3 5: 10 6: 17 7: 24 8: 31 length: 9 <prototype>: [] <prototype>: {…} 6: {…} dates: (9) […] 0: 2 1: 9 2: 16 3: 23 4: 30 5: 7 6: 14 7: 21 8: 28 length: 9 <prototype>: [] <prototype>: {…}Y ahora quiero borrar varias fechas:
month: 5, day: 24, 26 month: 6, day: 14, 16¿Tengo que hacer varios bucles para hacer esto? Probé algunas declaraciones for() e if(), pero de alguna manera la lógica es complicada. ¿Hay otros métodos para hacer esto? Su ayuda es muy apreciada.
Puede usar la recursividad para esto si no conoce el anidamiento de objetos. En su caso, debe usar el método forEach para encontrar los elementos necesarios. Pero recuerde no mutar la matriz inicial.
const newEvents = events; events.forEach((item, i) => { if (i === 5) { item.dates.forEach((innerItem, j) => { if (innerItem === 24) newEvents.splice(j, 1); }) } }) return newEvents;