split strings 6 kyu

codewars

by trentHarlem

CSS

body {
  background-color: dodgerblue;
}

JavaScript

const solutionRegArrow = s => (s + "_").match(/.{2}/g) || []
// myjinxin2015

function solution(str) {
  const strArr = str.split('')
  if (strArr.length % 2 === 0) {
    return strArr.map((c, i, arr) => {
      if (i % 2 === 0) return c + arr[i + 1]
    }).filter(el => el)

  } else {
    return strArr.map((c, i, arr) => {
      if (!arr[i + 1]) return c + '_'
      if (i % 2 === 0) return c + arr[i + 1]
    }).filter(el => el)
  }
  // this is Ugly. 
}
// could be made better with outer function for map
// but regex solution is Far less code ( > 80% )
console.log(solution("abcdef"))
console.log(solution("abcde"))



function solutionReg(s) {
  return (s + "_").match(/.{2}/g) || []
}




console.log(solutionReg("abcdef"))
console.log(solutionReg("abcde"))


/* function fart(burrito) {
let DUMP = []
 return burrito.split('').reduce((gas, belch) => {
    if (gas) { DUMP.push('pfft') }
    return DUMP[0]
    },[])
  return DUMP//.join('')
}
console.log(fart('burrito')) */