function normalize(s) {
let arr = s.match(/w+/g)
let result
while(arr.length) {
let cur = arr.pop()
let temp = {value: cur}
if(result) {
temp.children = result
}
result = temp
}
return result
}
// 测试
var s = 'abc'
normalize(s) // {value: "abc"}
s = '[abc[bcd[def]]]'
normalize(s)
// {value: 'abc', children: {value: 'bcd', children: {value: 'def'}}}
更过编程算法题可见 JavaScript-Algorithms
第 152 题:实现一个 normalize 函数,能将输入的特定的字符串转化为特定的结构化数据