我通常不会这样做,但实际上是使用JSON.stringify()转换对象不的练习。要转换的对象如下:
obj = {
num: 0,
string: "string",
func: function () {},
emptyString: '',
null: null,
undefined: undefined
};
它应该产生以下答案:
'{"num":0,"string":"This is a string","emptyString":"","null":null}'
答案 0 :(得分:0)
当然,您总是想使用JSON.Stringify()
,但为了练习,
obj = {
num: 0,
string: "string",
func: function () {},
emptyString: '',
null: null,
undefined: undefined
};
str = Object
.entries(obj)
.reduce((a, e) => {
if (typeof e[1] != "function") {
a += `"${e[0]}" : "${e[1]}", `;
}
return a;
}, "`{")
.slice(1, -2) + "}`";
console.log(str)
答案 1 :(得分:0)
var str = Object
.entries(input)
.reduce((a, e) => {
if (typeof e[1] != "function" && e[1] !== undefined) {
if(e[0] === "num" || e[0] === "null"){
a += `"${e[0]}":${e[1]},`;
} else{
a += `"${e[0]}":"${e[1]}",`;
}
}
return a;
}, "`{")
.slice(1, -1) + "}";
return str;
能够通过上面的方法得到它……尽管我确信会有更好的答案。我了解到,我需要从用户Bergi那里搜索“ polyfills”。
感谢所有提供帮助的人