在JavaScript中为键添加引号

时间:2016-08-26 22:50:43

标签: javascript

我们说我有这段代码:

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"
}

我该怎么做呢?

3 个答案:

答案 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];
}