Tengo algo como esto en mi consola: ¿Cómo puedo sacar el [objeto Objeto] de mi salida?
Quiero que la salida se imprima sin el [Objeto Objeto]. ¿Probablemente usando una operación ternaria?
data:[object Object] text:Data is supplied by Government link:https://en.wikipedia.org/Este es mi código:
const GetData = (obj, step) => { let padSpace = "" for (let j=0; j < step; j++) { padSpace += '' } for (let k in obj) { console.log(padSpace + k + ':' + obj[k]) if (typeof(obj[k]) === "object") { if (Array.isArray(obj[k])) { obj[k].forEach(element => { if (typeof(element === "object")) { GetData(element, step + 1); } else { console.log(padSpace + element) } } ); } else { GetData(obj[k], step + 1); } } else {} }quiero algo como:
No soy un experto, pero intentaré ayudar aquí.
Estos datos provienen de una API externa, supongo. ¿Derecha? Me parece que es solo una cuestión de cómo se envían los datos desde el servidor. Tal vez solo necesite usar JSON.stringfy para convertir el objeto en una cadena.
Sería bueno tener acceso al tipo de datos que se envían desde el servidor para manipularlos.
Espero que te empiece a ayudar de alguna manera...
Salud
La siguiente prueba siempre pasará porque typeof true y typeof false son ambos "boolean" , que es veraz.
if (typeof(element === "object")) {Probar
if (typeof element === "object") {No tengo idea de por qué estás hablando de una operación ternaria.
Para evitar el [object Object] , puede mover el console.log existente y agregar otro como se muestra:
for (let prop in entity) { if (typeof entity[prop] === "object") { console.log(padString + prop + ':'); if (Array.isArray(entity[prop])) { entity[prop].forEach(element => { if (typeof element === "object") { formatData(element, level + 1); } else { console.log(padString + element) } }); } else { formatData(entity[prop], level + 1); } } else { console.log(padString + prop + ':' + entity[prop]) } }