将对象转换为字符串
Convert an object to a string
我正在尝试将一个对象转换为普通 JavaScript 中的字符串,用于库 toString()
函数。
所需的输出如下所示。
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,但找不到合适的答案。
正如我在评论中所说,您最好考虑使用 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/
警告:这不处理嵌套对象。您想使用递归算法来处理嵌套对象。
我正在尝试将一个对象转换为普通 JavaScript 中的字符串,用于库 toString()
函数。
所需的输出如下所示。
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,但找不到合适的答案。
正如我在评论中所说,您最好考虑使用 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/
警告:这不处理嵌套对象。您想使用递归算法来处理嵌套对象。