July 29, 2020

Split Strings решение

И так, эта задача уже посложнее... Приступим!

Изначально нам нужно проверить четное или не четное кол-во элементов хранит наша строка.

  • Если в строке четное кол-во символов, то запускаем цикл с шагом в 2 единицы и в итоговый массив добавляем пару символов. Номер шага и номер шага + 1
  • А если результат проверки обратный, мы опять же запускаем цикл с шагом в 2 единицы. Но каждый шаг проверяем typeof(i + 1 элемент) на то что он undefined. Если приравнен создаем пару элемент [шаг] и "_". В обратном случае, идем по плану сверху указанного кода.

Вот код функции:

function solution(str){
  var res = []
  var midres = "";
  if (str.length % 2 == 0){
    for (var i = 0; i < str.length; i = i + 2){
      midres = str[i] + str[i + 1]
      res.push(midres)
    }
  } else if (str.length % 2 != 0){
    for (var i = 0; i < str.length; i = i + 2){
      if (typeof(str[i + 1])== "undefined"){
        midres = str[i] + "_"
        res.push(midres)
      } else {
        midres = str[i] + str[i + 1]
        res.push(midres)
      }
    }
  }
  return res
}