例如,我有这个动态数组,它可以是任意长度,但是给了我这个数组的两个值。
var arrName = ["firstName","lastName"];
而且我必须为此动态数组制作一个具有确切给定值的json变量。这是我的方法
方法1:错误意外类型'['
var jsonValues = {arrName[0] : "Mark", arrName[1]: "Collins"}
方法2:有效,但在控制台中键入“ jsonValues”时不显示json内容,而是获取Array类型。我不确定这是否可以接受,因为我想对其进行JSON.stringify并将其通过ajax传递给php服务器。
var jsonValues = [{}];
jsonValues[arrName[0]] = "Jeffrey";
jsonValues[arrName[1]] = "Douglas";
最佳答案
你要
var jsonValues = {};
jsonValues[arrName[0]] = "Jeffrey";
jsonValues[arrName[1]] = "Douglas";
有关更通用的版本,请参见Underscore中的
object
函数。在大多数浏览器尚不支持的ES6中,还有一种语法可以满足您的最初期望:
var jsonValues = {
[arrName[0]]: "Jeffrey",
[arrName[1]]: "Douglas",
};
见MDN Reference