无法正确将键值对推送到数组

时间:2014-03-12 12:21:00

标签: javascript arrays node.js

我正在尝试在for循环中推送数组中的一些键值对( gp )。但存储在gp数组中的值类似于" key":0 ,其中key应为 a ,这是数组的输出[ i] ,值应为 0 ,正确存储在数组中。

所以我的意思是在推送数组元素时没有评估变量,但是变量被正确评估。

var gp = [];
var key = array[i];
var value = grades[array[i]];
gp.push({key : value});

2 个答案:

答案 0 :(得分:1)

试试这个:

var gp = [];
var key = array[i];var value = grades[array[i]];
var obj = {};
obj[key] = value;
gp.push(obj);

如果您使用var a = {key: value},则键值对a会有一个名为key的键,它只是一个字符串,就像var a = { "key": value }一样。它不是上面定义的变量key

答案 1 :(得分:0)

可能你需要使用Object,而不是数组。 如果要遍历对象值,可以使用此代码

for (var x in gp) {
  doSomethingWith(gp[x]);
}
相关问题