首页 > 解决方案 > 将一个字符串拆分为一个数组,其中每个字符串使用单引号

问题描述

在 JavaScript 中,我试图解决这个代码战争问题,但是每次我测试它时,测试运行都会失败,因为我的返回数组返回的结果超出了预期

预期的:

'[[14,"a"],[1,"b"],[41,"a"],[1,"c"]]'

反而得到:

[[14, 'a'], [1, 'b'], [41, 'a'], [1, 'c']]

我注意到我str.split将其作为数组返回 ["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", …]

基本上我意识到,如果我可以将拆分返回str为单引号,它可能会修复预期的回报,我该怎么做。

var compress = function(str) {
  let strArr = str.split('')
  let counter = 1
  let rtnArr = []
  console.log(strArr)

  const strMap = strArr.map((val, idx) => {
    if (val === (strArr[idx + 1])) counter += 1
    else {
      rtnArr.push([counter, val])
      counter = 1
    }
  })
  //  console.log(rtnArr)
  return rtnArr
}

标签: javascriptarraysstring

解决方案


推荐阅读