javascript中的多行变量

javascript中的多行变量,javascript,Javascript,我试图用数组中的一些数据创建这个javascript变量,但我无法找到正确的语法来实现这一点 certifications will be "Win7,Win8,PDI" var myArray = certifications.split(","); var data = "[{" + for (var i in myArray) " "id":i,"text":myArray[i]}, " + "}]"; 我希望让我的数据变量看起来像:

我试图用数组中的一些数据创建这个javascript变量,但我无法找到正确的语法来实现这一点

certifications will be "Win7,Win8,PDI"

var myArray = certifications.split(",");

var data = "[{" +
        for (var i in myArray)
        " "id":i,"text":myArray[i]}, " +
        "}]";
我希望让我的数据变量看起来像:

var data = "[{"id":0,"text":Win7},{"id":1,"text":Win8},{"id":2,"text":PDI}]";
试试这个:

var data = JSON.stringify(certifications.split(",").map(function(value, index) {
    return {
        id: index,
        text: value
    };
}));

也许+=就是你想要的:

var certifications = "Win7,Win8,PDI";
var myArray = certifications.split(",");
var data = "[{";

for (var i in myArray) {
    data += " " +
    "id" +":"+i+","+
    "text" + ":"+myArray[i]+"}, ";
}
data += "}]";

不要尝试创建对象文字字符串。只需创建真实的对象!不,没有。你为什么要这么做?如果要创建JSON字符串,请在真实对象和数组上使用
JSON.stringify()。谢谢bergiYes,这可能会起作用,但您需要确保
i
myArray[i]
正确escaped@friedi有一个更好的解决方案。希望他能使用它,而不是自己制作JSON。