我正在尝试将一个对象转换为一个用于库toString()
函数的vanilla JavaScript中的字符串
所需的输出如下所示。
var obj = {a: 1, b:2, c:"string"}
function toString(ins) {
if(typeof ins === "object" && ins.length === undefined) {
var str = "";
//convert to string
return str;
}
}
toString(obj)
//should return "a:1, b:2, c:string"
我试过看here,但找不到合适的答案。
答案 0 :(得分:2)
正如我在评论中所说,最好考虑使用JSON.stringify(obj)
并调整代码以使用该行业标准功能,即使它没有生成您要求的确切输出。
如果你真的想要你想要的并且想要自己做,那么你可以这样做:
var obj = {a: 1, b:2, c:"string"}
function toString(ins) {
if(typeof ins === "object" && ins.length === undefined) {
var pieces = [];
for (var prop in ins) {
if (ins.hasOwnProperty(prop)) {
pieces.push(prop + ":" + ins[prop]);
}
}
return pieces.join(", ");
}
}
toString(obj);
工作演示:http://jsfiddle.net/jfriend00/L70doyu5/
警告:这不处理嵌套对象。您希望使用递归算法来处理嵌套对象。