我通常不会这样做,但这是一个练习,使用JSON.stringify()在不使用的情况下转换对象。要转换的对象如下:
obj = {
num: 0,
string: "string",
func: function () {},
emptyString: '',
null: null,
undefined: undefined
};
它应该会产生以下答案:
'{"num":0,"string":"This is a string","emptyString":"","null":null}'
发布于 2018-09-30 05:42:06
当然,您总是希望使用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)
发布于 2018-09-30 06:06:44
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;
我相信会有一个更好的答案。我了解到"polyfills“是我需要从用户Bergi那里搜索的东西。
感谢所有帮助过我们的人
https://stackoverflow.com/questions/52572690
复制相似问题