前端面试手写题 字符串数组转数组

85 阅读1分钟
let arr='[1,2,3,[4,5,[6,7]],8,9]'
function stringToArray(newarr) {
    let arr = newarr.slice(1,-1)
    let result = [];
    for (let i = 0; i < arr.length; i++) {
      if (arr[i] === '[') {
        let j = arr.lastIndexOf(']');
        result.push(stringToArray(arr.slice(i,j+1)));
        i = j
      }else if(arr[i]!==','){
        result.push(arr[i]);
      }
    }
    return result;
}
console.log(stringToArray(arr))

博主是采用递归的方式