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

Javascript 无法将键值对正确推送到数组,javascript,arrays,node.js,Javascript,Arrays,Node.js,我正在尝试将数组(gp)中的一些键值对推送到for循环中。但是存储在gp数组中的值类似于“key”:0,其中key应该是a,它是数组[i]的输出,value应该是0,它正确地存储在数组中 所以我的意思是,在推数组元素时,键变量没有被求值,但是值变量被正确求值 var gp = []; var key = array[i]; var value = grades[array[i]]; gp.push({key : value}); 可能您需要使用对象,而不是数组。 如果要遍历对象值,可以使用以下

我正在尝试将数组(gp)中的一些键值对推送到for循环中。但是存储在gp数组中的值类似于“key”:0,其中key应该是a,它是数组[i]的输出,value应该是0,它正确地存储在数组中

所以我的意思是,在推数组元素时,变量没有被求值,但是变量被正确求值

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

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

for (var x in gp) {
  doSomethingWith(gp[x]);
}
试试这个:

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

post您的数组和gradesAn对象不适合我,因为我有不同值的重复键。grades类似于{a':10,'b:9,'c':8},而array类似于{a,b,c}将完整的代码和这些值一起发布