我正在尝试在for循环中推送数组中的一些键值对( gp )。但存储在gp数组中的值类似于" key":0 ,其中key应为 a ,这是数组的输出[ i] ,值应为 0 ,正确存储在数组中。
所以我的意思是在推送数组元素时没有评估键变量,但是值变量被正确评估。
var gp = [];
var key = array[i];
var value = grades[array[i]];
gp.push({key : value});
答案 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]);
}