TJR*_*TJR 1 javascript arrays recursion object
我尝试创建一个具有最后一个键值的对象.我只有一个带有键和值的数组但不知道如何在javascript中不使用引用来创建对象.
据我所知,没有办法在javascript中创建变量的引用.
这就是我所拥有的:
var value = 'test';
var keys = ['this', 'is', 'a', 'test'];
Run Code Online (Sandbox Code Playgroud)
这就是我要的:
myObject: {
this : {
is: {
a : {
test : 'test'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
知道我怎么能用JavaScript做到最好吗?
这个怎么样...
const value = 'test'
const keys = ['this', 'is', 'a', 'test']
const myObject = keys.reduceRight((p, c) => ({ [c]: p }), value)
console.info(myObject)Run Code Online (Sandbox Code Playgroud)
或者,如果您不是对象文字键快捷键和箭头函数的粉丝......
keys.reduceRight(function(p, c) {
var o = {};
o[c] = p;
return o;
}, value);
Run Code Online (Sandbox Code Playgroud)
如果需要IE <= 8支持,请参阅Array.prototype.reduceRight() - Polyfill.