Home > database >  Remove a string using Ternary operation in JavaScript
Remove a string using Ternary operation in JavaScript

Time:05-05

I have something like this in my console: How can I take out the [object Object] from my output?

I want the output printed without the [Object Object]. Probably using a ternary operation?

data:[object Object]
  text:Data is supplied by Government
  link:https://en.wikipedia.org/

This is my code:

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 {}
    }

I want something like:

CodePudding user response:

The following test will always pass because typeof true and typeof false are both "boolean" which is truthy.

if (typeof(element === "object")) {

Try

if (typeof element === "object") {

I have no idea why you are talking about a ternary operation.


To avoid the [object Object] you can move the existing console.log and add another one as shown:

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])
  }
}

CodePudding user response:

I am not an expert but I'll try to help here.

This data is coming from an external API, I suppose. Right? It seems to me that is just a matter of how the data is being sent back from the server. Maybe you just need to use JSON.stringfy to convert the object to string.

It would be nice to have access to the kind of data being sent from the server to manipulate it.

Hope it starts to help you in a way...

Cheers

  • Related