如何在给定键数组的情况下创建嵌套对象

普米:

给出的是这样的数组:

var level = ["a", "b", "x"];

输出应为:

{
    "a": {
        "b": {
            "x": {
            }
        }
    }
}

我尝试了这个:

var level = ["a", "b", "x"];
var o = {};
for (var c = 0, len = level.length; c < len; c +=1 ) { 
    var part = level[c]; 
    o[part] = {}; // how to remember the last part?
}

如何记住最后一部分并添加下一个级别?

Nina Scholz:

您可以检查级别是否存在,如果未设置,则仅分配一个对象。

function addLevels(levels, object) {
    levels.reduce((o, l) => o[l] = o[l] || {}, object);
}

var object = {};

addLevels(["a", "b", "x"], object);
addLevels(["a", "d", "z"], object);

console.log(object);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于特定值进行聚合并在给定对象列表的情况下创建嵌套地图?

哪个程序在给定任何文件的情况下创建一个C数组?

如何在给定SOAP WSDL操作的情况下创建WSDL文件

postgres:在给定条件的情况下如何计算数组列中的不同元素

python defaultdict如何在不创建键的情况下检查嵌套键是否存在或为[]

如何在给定点的情况下绘制区域?

如何在不变异的情况下更新对象数组的嵌套数组的状态

如何在给定“源代码”字符串列表的情况下创建数组组合字符串?

如何在给定MessageDescriptor的情况下创建protobuf消息实例(在dotnet / C#中)

如何在不删除键的情况下从对象和嵌套对象中重置值

如何在给定FrameworkElement的情况下检索CompositionEffect?

条纹:如何在给定信用卡信息的情况下创建客户对象

如何在python中给定列表的情况下创建一系列JSON对象?

在给定开始日期和结束日期的情况下,如何创建日期范围

在给定约束的情况下,如何查找数组中2个元素的最大差?

在给定特定键的情况下获取哈希值数组

在给定焦点和相机主要中心的情况下,如何创建透视投影矩阵

如何在给定未知格式字符串的情况下对数组进行sprintf?

在给定父数组的情况下查找树的深度

在给定多个对象键的情况下获取数组对象元素的索引

MATLAB:如何在给定数字数组的情况下评估符号函数,并返回结果数组?

如何在给定数组中关联表的任何值的情况下获得表中的所有记录?

如何在不知道键的情况下基于键动态将嵌套的Json对象/数组转换为多个列表

如何在不迭代数组的情况下提取对象数组中特定键的值?

如何在给定另一个数组的情况下创建一个 Matlab 数组

如何在给定 MongoDB 中的元素位置的情况下提取数组的切片?

如何在给定 Scala 中的字段列表(键 -> 值)的情况下构建 json 对象

如何在给定一组值的情况下找到数组中剩余的 % 值?

如何在给定元组列表的情况下创建倒排索引?