javascript - 从数组嵌套 JSON

标签 javascript

我正在努力实现一些看似非常基本但在过去几天让我生气的事情。

我有一个简单的数组:["a","b","c","d","e"] 我想把它变成这样的嵌套 JSON:

{"a":{"b":{"c":{"d":{"e":""}}}}}

遍历它,我遇到了诸如“如何保存最后一个 key 以便之后设置它而不删除它”之类的问题。

有没有人有想法?

最佳答案

您可能遇到了问题,因为您在错误的方向上循环。尝试从内到外构建对象:

array.reduceRight(function(v, key) {
    var o = {};
    o[key] = v;
    return o;
}, "")

或者,使用循环:

var val = "";
for (var i=array.length; i--; )
    var o = {};
    o[array[i]] = val;
    val = o;
}
return val;

关于javascript - 从数组嵌套 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040282/

相关文章:

javascript - 如何根据组合框选择更改文本标签?

javascript - 主干解析ajax响应函数没有被调用

javascript - 使用 XMLHttpRequest 获取非 utf8 数据

javascript - 无法动态创建和附加 div 和 span

javascript - 显示从 Controller 获取的字符串对应的div标签

javascript - minus minus 小于 "-->"运算符如何在 JavaScript 中工作?

javascript - jQuery nth-child 选择器不适用于 jQuery

javascript - 如何创建自定义的 JavaScript 数组?

c# - 使 RadioButtonList 中选定的 RadioButton 不可点击但不被禁用

javascript - ReactJS:从 API 中排序选项选择