【发布时间】:2018-11-07 23:44:38
【问题描述】:
我有一个形状未知的嵌套数组。这是一个例子:
["head","val1","val2","val3",
["head2","val4","val5",
["head3","val6","val7",
["head4", "val8"],"val9"]],
["head5", "val10", "val11"]
]
数组的长度都为 2 或更大。一个数组可以包含任意数量的其他数组,也可以包含任意数量的数组。所有值都是字符串或数组。
我正在尝试将其转换为具有以下形状的单个对象:
{"head": ["val1","val2","val3",
{"head2": ["val4","val5",
{"head3": ["val6","val7",
{"head4": ["val8"]}, "val9"]},
{"head5": ["val10", "val11"]}
]}
基本上,每个数组都需要转换为一个对象,其中第一个值是键,数组的其余部分是值。
我试过使用reduce,但不能完全正确。
【问题讨论】:
-
如果您展示了您的
reduce尝试,那就太好了,我们可以提供帮助 -
Array.prototype.shift+Array.isArray+recursion?
标签: javascript functional-programming lodash