Mir*_*rko 0 javascript arrays each jquery object
我需要使用存储在数组中的值创建一个javascript对象.每个值都应该是前一个值中的新键.实现这一目标的最佳方法是什么?
var option = ['level_1','level_2','level_3','level_4'];
$.each( option, function( key, value ) {
// ....
});
// I'm trying to get this result
var result = {
'level_1': {
'level_2': {
'level_3': {
'level_4':{}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用reduceRightES6 计算的属性名称语法来实现此目的.
const option = ['level_1','level_2','level_3','level_4'];
const obj = option.reduceRight( (acc, lvl) => ({ [lvl]: acc }), {});
console.log(obj);Run Code Online (Sandbox Code Playgroud)
在传统的函数语法中,它将是:
const obj = option.reduceRight(function (acc, lvl) {
return { [lvl]: acc };
}, {});
Run Code Online (Sandbox Code Playgroud)