我可能在这里使用了错误的术语,但这正是我想要做的。我想创建一个地图,其中包含每个键的值和每个键的对象的值。所以使用这段代码:
var myMap = {};
var keyVal = "abc";
var objVal = "123";
myMap.keyVal = objVal;
现在我想要返回的是一个看起来像{"abc":"123"}
的JSON对象,而是返回{"keyVal":"123"}
。如何让它使用键的实际变量内容而不是变量名? (或者我猜它根本不使用变量,只是将'keyVal'视为关键名称)
答案 0 :(得分:7)
myMap[keyVal] = objVal;
答案 1 :(得分:0)
var datajson = JSON.parse(data);
var keyArr = Object.keys(datajson);
for ( var i = 0; i < keyArr.length; i++) {
var val = datajson[keyArr[i]];
}
答案 2 :(得分:-1)
var keyVal = "abc";
var objVal = "123";
eval("myMap." + keyVal + "='" + objVal + "'")
另一种选择,但 eval不推荐