Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 制作具有可变关键点和深度的嵌套对象的最佳方法是什么?_Javascript_Json_Loops - Fatal编程技术网

Javascript 制作具有可变关键点和深度的嵌套对象的最佳方法是什么?

Javascript 制作具有可变关键点和深度的嵌套对象的最佳方法是什么?,javascript,json,loops,Javascript,Json,Loops,制作具有可变关键点和深度的嵌套对象的最佳方法是什么 例如,我想使用数组[“一”、“二”、“三”]创建以下对象: { one: { key: value, two: { key: value2, three: { key: value3 } } } } 我想我可以使用for循环,但我不确定如何跟踪每个级别 该方法为的每个值执行提供的函数 阵列(从左到右)。函数的返回值为 存储在累加器(myObjec

制作具有可变关键点和深度的嵌套对象的最佳方法是什么

例如,我想使用数组
[“一”、“二”、“三”]
创建以下对象:

{ 
  one: {
    key: value,
    two: {
      key: value2,
      three: {
        key: value3
        }
      }
    }
}
我想我可以使用for循环,但我不确定如何跟踪每个级别

该方法为的每个值执行提供的函数 阵列(从左到右)。函数的返回值为 存储在累加器(myObject)中

var aArray=['1','2','3'];
var myObject={},i=“”;
aArray.reduce(函数(ooobject,sString){
oObject[sString]={key:“value”+i};
i++;
返回对象[sString];
},myObject);
console.log(myObject)
该方法为的每个值执行提供的函数
阵列(从左到右)。函数的返回值为
存储在累加器(myObject)中

var aArray=['1','2','3'];
var myObject={},i=“”;
aArray.reduce(函数(ooobject,sString){
oObject[sString]={key:“value”+i};
i++;
返回对象[sString];
},myObject);
console.log(myObject)可用于在每个循环中添加嵌套级别

让arr=[“一”、“二”、“三”],
initialValue={key:arr.length-1}
常量输出=arr.reduceRight((acc,k,i)=>
({
[k] :Object.assign({key:i},acc)
})
,初始值)
log(输出)
可用于在每个循环中添加嵌套级别

让arr=[“一”、“二”、“三”],
initialValue={key:arr.length-1}
常量输出=arr.reduceRight((acc,k,i)=>
({
[k] :Object.assign({key:i},acc)
})
,初始值)

console.log(输出)
如何获得
值1
可以是
for
循环的
i
。如何获得
值1
可以是
for
循环的
i
。谢谢-还帮助我了解了reduceRight的一个用例!谢谢-还帮助我理解了reduceRight的一个用例!