<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function solve(index = 0, arr) {
let length = arr.length;
if (index === length - 1) {
return {
value: arr[index],
};
}
return {
value: arr[index],
children: solve(index + 1, arr),
};
}
function normalize(str) {
let arr = str.split(/[\[\]]/g).filter(Boolean);
console.log(arr);
let result = solve((index = 0), arr);
return result;
}
let str = "[abc[bcd[def]]]";
console.log(normalize(str));
</script>
</body>
</html>