Estoy tratando de imprimir solo las listas y tareas. Obtengo un [objeto de objeto]
aquí está mi código:
const users = { user1: { lists: [ { id: 0, name: "Work", tasks: [ { id: 0, task: "task to do", }, { id: 1, task: "task to do", }, ], }, { id: 1, name: "Holiday", tasks: [ { id: 0, task: "task to do", }, { id: 1, task: "task to do", }, ], }, { id: 3, name: "New List", tasks: [], }, ], }, };y esto es lo que probé:
$.each(users, function (key, value) { const keys = key; console.log(keys) let test = users[key]; console.log(test) $.each(test, function (key, value) { value; console.log(value) $.each(value, function (key, value) { value.name document.write(value.name) document.write(value.tasks) }) }); });esto es lo que devuelve:
Trabajo[objeto Objeto],[objeto Objeto]Vacaciones[objeto Objeto],[objeto Objeto]Nueva lista
Mis preguntas:
solo soy principiante
Primero, le pediré que intente no usar jQuery ( $ ) para todo cuando no sea necesario.
En segundo lugar, tiene una variable llamada users , que creo que debería ser una matriz, pero la tiene como un objeto con clave. Puede que valga la pena mirar más a fondo.
De todos modos, ¡intentaré ayudarte con las cosas de "lista sola" y "tareas solas"!
const users={user1:{lists:[{id:0,name:"Work",tasks:[{id:0,task:"task to do"},{id:1,task:"task to do"}]},{id:1,name:"Holiday",tasks:[{id:0,task:"task to do"},{id:1,task:"task to do"}]},{id:3,name:"New List",tasks:[]}]}} const allLists = [] // id is "user1", user is the user-object. for(const [id, user] of Object.entries(users)) { const lists = user.lists for(const list of lists) { allLists.push(list) } } console.log(`ALL LISTS: ${allLists}`) // Lots of "[object Object]" console.log(`ALL LISTS: ${JSON.stringify(allLists)}`) // This one works