如何推动关键&没有引号的数组中的值

时间:2015-07-17 14:45:56

标签: javascript arrays json

我有一个空数组。我试图将键值对推入数组,但它会引用引号。如何在没有引号的情况下发送它?

这是我的代码:

var Array_1 = [];

Array_1.push("{ " + configJsonArray[k].name +  ":" + "'" + customerData[j][L].value + "'" + ", type:" + "'" + configJsonArray[k].type + "'" + " }");

// configJsonArray[k].name -- key from another array

// customerData[j][L].value --  value from another array

我期待的结果 [{total:' 30',type:' cart' },{customerId:' 4',输入:' info' }]

我得到的结果 [" {total:' 30',输入:' cart' }"," {customerId:' 4',输入:' info' }"]

3 个答案:

答案 0 :(得分:2)

您想要推送一个对象,而不是一个字符串(尽管是一个对象的字符串)

ar Array_1 = [];

var objToPush = {};
objToPush[configJsonArray[k].name] = customerData[j] [L].value;

Array_1.push(objToPush);

答案 1 :(得分:1)

您正在创建字符串而不是对象。您可以创建对象并将其推入阵列。

var Array_1 = [];
var temp = {};
temp[configJsonArray[k].name] = customerData[j][L].value;
temp["type"] = configJsonArray[k].type;
Array_1.push(temp);

答案 2 :(得分:1)

你正在推一个字符串,不会被神奇地评估。

您应该使用object initializer

而不是字符串

在ES6中,您可以使用computed property names将其属性名称设置为变量的值:

var Array_1 = [{
  [configJsonArray[k].name]: customerData[j][L].value,
  type: configJsonArray[k].type
});