第 112 题:编程题,写个程序把 entry 转换成如下对象
var entry = { 'a.b.c.dd': 'abcdd', 'a.d.xx': 'adxx', 'a.e': 'ae' } // 要求转换成如下对象 var output = { a: { b: { c: { dd: 'abcdd' } }, d: { xx: 'adxx' }, e: 'ae' } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
@RGXMG 我的实现思路和你这个一致,喜欢你这个
实现思路:
.
就是一个对象嵌套,所以可以用split()
函数将其划分为一个array,所以array的length - 1下标所对应的元素就是entry的一个key的具体值。reduce
函数,将每一次的引用返回。题目
实现思路
遍历对象,如果键名称含有
.
将最后一个子键拿出来,构成对象,如{'a.b.c.dd': 'abcdd'}
变为{'a.b.c': { dd: 'abcdd' }}
, 如果变换后的新父键名中仍还有点,递归进行以上操作即可。代码
我继续先来