Tengo un objeto con matrices dentro. Estas matrices tienen objetos a los que quiero acceder. Mi problema es que estas matrices contienen los próximos 5 días, por lo que cambian de vez en cuando. El objeto:
{2022-04-09: Array(5), 2022-04-10: Array(8), 2022-04-11: Array(8), 2022-04-12: Array(8), 2022-04-13: Array(8), …} 2022-04-09: (5) [{…}, {…}, {…}, {…}, {…}] 2022-04-10: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] 2022-04-11: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] 2022-04-12: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] 2022-04-13: (8) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] 2022-04-14: (3) [{…}, {…}, {…}]Entonces, quiero seleccionar estas matrices (para poder separar los días) y luego acceder a los objetos que están dentro, y eso es lo que no sé cómo hacer.
Digamos que tiene su objeto almacenado en dateObj , realmente no dice qué contienen esos objetos, así que los dejo vacíos. También dice que tiene 5 objetos en cada matriz, pero en su ejemplo tiene 5, 8 o 3 objetos dentro
const dateObj = { '2022-04-09': [ {}, {}, {}, {}, {} ], '2022-04-10': [ {}, {}, {}, {}, {} ], '2022-04-11': [ {}, {}, {}, {}, {} ], '2022-04-12': [ {}, {}, {}, {}, {} ], '2022-04-13': [ {}, {}, {}, {}, {} ] }; // then you can access each array in your dateObj with this: console.log(dateObj['2022-04-09']); // then access each object in array like this: for (item of dateObj['2022-04-09']) { console.log(item); } // or you can iterate over all keys (2022-04-09, 2022-04-10, 2022-04-11, ...) for (key in dateObj) { if (!(key in dateObj)) continue; console.log(key, dateObj[key]); // and access each object in array for (item of dateObj[key]) { console.log(item); } }Puede iterar a través de todos sus objetos y claves usando esto, luego puede hacer lo que quiera con el objeto dentro de la matriz. Estoy asumiendo que su objeto es myObject .
Entonces puedes hacerlo de esta manera,
const myObject = { '2022-04-09': [{ content: "item 12" }, { content: "item 1-3" }, { content: "item 1-4" }, { content: "item 1-5" }, { content: "item 1-6" }], '2022-04-10': [{ content: "item 2-1" }, { content: "item 2-2" }, { content: "item 2-3" }, { content: "item 2-4" }, { content: "item 2-5" }], }; Object.keys(dateObj).forEach(key => { // key will be each date of your object . like '2022-04-09' myObject[key]?.forEach(date => { // so myObject[key] will be each array of that object which you can itterate. so you may assume this as accessing like myObject['2022-04-09'] item. console.log(date?.content); }) })