Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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 - Fatal编程技术网

javascript以编程方式构建对递归对象键的引用

javascript以编程方式构建对递归对象键的引用,javascript,Javascript,假设这个字符串: var string = 'abcd'; //I split the string by characters var keys = string.split(''); // that return ['a','b','c','d']; 现在我有一个这样的物体: var object = { a:{ b:{ c:{ d:{ } }

假设这个字符串:

var string = 'abcd';

//I split the string by characters
var keys = string.split(''); // that return ['a','b','c','d'];
现在我有一个这样的物体:

var object = {
    a:{
        b:{
            c:{
                d:{

                }
            }
        }
    }
}
如何以编程方式构建,例如:
对象['a']['b']['c']['d']

数组

使用
reduce
,将当前嵌套对象作为累加器传递(以基本对象作为初始值):

var对象={
a:{
b:{
c:{
d:{
福:“酒吧”
}
}
}
}
};
变量字符串='abcd';
var keys=string.split(“”);
console.log(
keys.reduce((a,key)=>a[key],object)

);我认为可以反转数组并设置父子对象

var string = 'abcd';
var arr = string.split('');

var result = arr.reverse().reduce(function(obj, key) {
  var o = {};
  o[key] = obj;
  return o;
}, {});

要生成对象还是访问现有对象?访问现有对象此操作无效。这将创建一个新对象。我需要访问现有的
对象