Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用索引数组值设置JSON键_Javascript - Fatal编程技术网

Javascript 使用索引数组值设置JSON键

Javascript 使用索引数组值设置JSON键,javascript,Javascript,我试图通过基于另一个数组的字符串值自动设置JSON对象的键来填充JSON对象。比如说, var test = ["a","b"] {test[0]:"A"} 但是,如果手动将值设置为第三行{“a”:“a”}中所示的字符串,则执行此操作时会出现语法错误。此问题不会发生。我检查了test[0]是否确实打印出“a”,其数据类型是字符串。发生这种情况有什么原因吗?请尝试以下方法: var测试=[“a”,“b”] var obj={ [测试[0]]:“A” }; 控制台日志(obj)请尝试以下操作:

我试图通过基于另一个数组的字符串值自动设置JSON对象的键来填充JSON对象。比如说,

var test = ["a","b"]
{test[0]:"A"}

但是,如果手动将值设置为第三行
{“a”:“a”}
中所示的字符串,则执行此操作时会出现语法错误。此问题不会发生。我检查了
test[0]
是否确实打印出
“a”
,其数据类型是字符串。发生这种情况有什么原因吗?

请尝试以下方法:

var测试=[“a”,“b”]
var obj={
[测试[0]]:“A”
};
控制台日志(obj)请尝试以下操作:

var测试=[“a”,“b”]
var obj={
[测试[0]]:“A”
};

控制台日志(obj)
您是否尝试过
{test:[“A”]}
{[test[0]]:“A”}
结果是
{A:“A”}
-将您的密钥括在括号中,否则它会试图将密钥写成
test[0]
。。。您拥有的是一个对象文本。这与JSON无关。您正在寻找。“有什么原因会发生这种情况吗?”是的,
x[y]
根本不是有效的语法来代替对象文本中的键。您是否尝试过
{test:[“A”}
{[test[0]]:“A”}
导致
{A:“A”}
-将键括在括号中,否则,它将尝试将密钥写入
test[0]
。。。您拥有的是一个对象文本。这与JSON无关。您正在寻找。“有什么原因可能会发生这种情况吗?”是的,
x[y]
根本不是有效的语法来代替对象文本中的键。谢谢,这个解决方案很有效,您能解释一下为什么在这种情况下测试[0]周围的括号是必要的吗?它用于计算属性名称。仅供参考:谢谢,此解决方案有效,您能解释一下为什么在这种情况下测试[0]周围的括号是必要的吗?它用于计算属性名称。供参考: