[英]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 true
和typeof 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.