繁体   English   中英

在 JavaScript 中使用三元运算删除字符串

[英]Remove a string using Ternary operation in JavaScript

我的控制台中有这样的内容:如何从我的 output 中取出 [object Object]?

我想要在没有 [Object Object] 的情况下打印 output。 可能使用三元运算?

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

这是我的代码:

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

我想要这样的东西:

我不是专家,但我会尽力在这里提供帮助。

我想这个数据来自外部 API。 正确的? 在我看来,这只是数据如何从服务器发回的问题。 也许您只需要使用 JSON.stringfy 将 object 转换为字符串。

如果能够访问从服务器发送的数据类型以对其进行操作,那就太好了。

希望它开始以某种方式帮助你......

干杯

下面的测试总是会通过,因为typeof truetypeof false都是"boolean" ,也就是 truthy。

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

尝试

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

我不知道你为什么要谈论三元运算。


为避免[object Object] ,您可以移动现有的console.log并添加另一个,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM