我们说我有这段代码:
var testObjs = ['This is One Test', 'A Sapphire Road', 'Ragon Done 12'];
var sampleAnswer = ['Hello', 'World', '123'];
var complexObj = {};
for (var i = 0; i < testObjs.length; i++) {
complexObj[testObjs[i]] = sampleAnswer[i];
}
console.log(complexObj);
这会创建一个带有值的对象。两者都是动态创建的,因此我们有这个对象:
{
A Sapphire Road: "World"
Ragon Done 12: "123"
This is One Test: "Hello"
}
正如您所看到的,问题是没有双引号。我希望它像这样(所以它是有效的):
{
"A Sapphire Road": "World"
"Ragon Done 12": "123"
"This is One Test": "Hello"
}
我该怎么做呢?
答案 0 :(得分:3)
最后一行:
console.log(JSON.stringify(complexObj));
结果:
{"This is One Test":"Hello","A Sapphire Road":"World","Ragon Done 12":"123"}
但不要打扰console.log
结果。为了您的方便,这仅在您的控制台中不带引号。实际上,这更像是计算机内存中的对象。
但是如果您需要它以您请求的形式传递它,请使用JSON进行字符串化。
答案 1 :(得分:2)
是正确的。它只是在控制台中没有引号的情况下显示。请参阅jsbin。没有错误。
答案 2 :(得分:0)
正如Josh所说,你当前的代码没有任何问题。但是,如果您仍想查看引号,请尝试以下操作:
for (var i = 0; i < testObjs.length; i++) {
complexObj["\"" + testObjs[i] + "\""] = sampleAnswer[i];
}