例如,我有这个动态数组,可以是任意长度,但我得到了这个数组的两个值。
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";
答案 0 :(得分:4)
你想要
var jsonValues = {};
jsonValues[arrName[0]] = "Jeffrey";
jsonValues[arrName[1]] = "Douglas";
有关更通用的版本,请参阅下划线中的object
功能。
在大多数浏览器尚不支持的ES6中,还有一种语法符合您的预期:
var jsonValues = {
[arrName[0]]: "Jeffrey",
[arrName[1]]: "Douglas",
};