将php代码转换为JavaScript

将php代码转换为JavaScript,javascript,php,Javascript,Php,如何将此PHP代码转换为JavaScript代码?我不确定array()方法和=>符号 代码如下: $a = $value; for ($i = count($keys)-1; $i>=0; $i--) { $a = array($keys[$i] => $a); } 。这就是我希望用java脚本完成的问题。我尝试了很多方法,但都没有成功 非常感谢您的帮助。这个问题有点奇怪,因为PHP数组更像Javascript中的对象,而不是实际的数组。最大的区别在于语法: 下面是一个与提供

如何将此PHP代码转换为JavaScript代码?我不确定
array()
方法和
=>
符号

代码如下:

$a = $value;
for ($i = count($keys)-1; $i>=0; $i--) {
  $a = array($keys[$i] => $a);
}
。这就是我希望用java脚本完成的问题。我尝试了很多方法,但都没有成功


非常感谢您的帮助。

这个问题有点奇怪,因为PHP数组更像Javascript中的对象,而不是实际的数组。最大的区别在于语法:

下面是一个与提供的示例相匹配的解决方案:

let a = 4
let keys = ["a", "b", "c"]

// Same as the PHP code, loop backwards
for(let i = keys.length - 1; i >= 0; i--) {
  let key = keys[i]

  // Create a new object with the key and the old a as the value.
  a = { [key]: a }
}
更实用的方法是使用
数组#reduce

let a = 4
let keys = ["a", "b", "c"]

let result = keys
  .reverse()
  .reduce((value, key) => ({ [key]: value }), a)
编辑

更好的方法是使用
数组#reduceRight
。这样,您就可以在数组中获得最终值:

let keys = ["a", "b", "c", 4]

let result = keys.reduceRight((v, k) => ({ [k]: v }))

到目前为止,您尝试了什么?您能否提供
$value
和其他相关变量的视觉效果,并给出预期的输出。您了解代码的功能吗?现在,reimplement it.JavaScript为具有命名键(
Object
)的集合和具有顺序索引(
Array
)的集合提供了单独的类型,而PHP将这两种类型组合到
Array()
s中相关:你在PHP中的代码甚至没有意义,因为你在
for
循环的每次迭代中都会覆盖
$a
。@Mike它将前面的
$a
(值或数组)嵌入到下一个中,似乎是从内到外构建一组数组–
数组(key0=>数组(key1=>数组(key2=>$value)))
。谢谢你们的回复。我今天也试过了。我试着像(int I=0;I