我有一个这样的数组:
["one", "foo", "two", "baz", "two", "one", "three", "lulz", "wtf", "three"]
1 2 2 1 3 3
每个字符串都是访问对象字面量的键。我想要做的是在这种情况下添加由主键分隔的子键的完整路径one
,two
和three
。这是预期的结果:
[
'one', 'one.foo', 'one.two', 'one.two.baz', 'one.two', 'one',
'three', 'three.lulz', 'three.wtf', 'three'
]
在过去的几个小时里,我一直在尝试使用循环并首先提取重复的项目,然后尝试通过给定的起点和终点对数组进行切片。然后我尝试了正则表达式,只是想看看它是否可能,但 JS 不处理正则表达式中的递归,它变得非常复杂并且可能没有必要。我当时很沮丧,没有任何效果。我不知道现在该去哪里。我被困住了。
编辑:我已经尝试了一段时间,因为它看起来更简单,但理想情况下我想要提取的只是没有关闭“标签”的键链。
[
'one', 'one.foo', 'one.two', 'one.two.baz',
'three', 'three.lulz', 'three.wtf'
]
有人可以在这里启发我吗?