如何用一个循环让一个字符串变成若干个数组?

假设有如下字符串
1\t2\r\n3\t4\r\n
要把这个字符串变成
[[1,2],[3,4]]
应该如何写这个循环呢?
其实是一个从excel中复制数据到表格里的需求,但是不明白这个字符串应该如何去提取,请指教!

阅读 1.5k
1 个回答
  • 思路解析:

    将字符串中进行切割,以\r\n为切割符。得到一个数组,再将数组中的每个元素用\t进行切割,得到一个子数组,分别进行填充,得到最终数组
  • 具体代码:

    // 定义好变量,用于接收此字符串
    const str = '1\t2\r\n3\t4\r\n'
    // 由于上述字符串是有特性的,\r\n进行切割
    const splitArr = str.split('\r\n')
    // 得到一个值为:["1\t2", "3\t4", ""]的数组
    // 申明一个最终值变量,类型是数组
    let result = [];
    // 对数组进行循环遍历
    splitArr.forEach((item,index)=>{
     // 由于数组最后一个是空字符,我们可以选择性无视
     if(index !== splitArr.length - 1){
      // 再把此元素以 \t 进行切割,塞入最终数组
      result.push(item.split('\t'))
     }
    })
  • 执行结果:
    image.png
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题