another getMiddle string challenge

No methods from previous solutions allowed

by trentHarlem

HTML

<p>
incomplete
</p>

JavaScript

// same get middle string challenge but...
// can NOT use any previously used methods
// No methods from previous solutions allowed.
//
const getMiddle = (s) => {
  let m = Math.ceil(s.length / 2);
/*   console.log((s
    .split('')
    .reduce((a, c) => (s.length % 2 ? a += c === s[m] : (a += c ===  m - 1), s[m-1])))) */
  return s
    .split('')
    .reduce((a, c) => (s.length % 2 ? a = c === s[m-1] : (a = c ===  m - 1), s[m-1]))

  //.join('')
}

/* const getMiddle = (s) => {
  let m = Math.ceil(s.length / 2);
  return s
    .split('')
    .filter((ch, i) => (s.length % 2) ?
      ch === s[m - 1] :
      ch === m && ch === s[m - 1])
    .join('')
} */



//console.log(s.length)
//console.log(s.length % 2)
//.   && [i] === [m - 1]
//console.log(ch,i,s[m-1],m-1)
// [i]===[m-1]?

/* .filter((ch, i) => (s.length % 2) ?
  (ch[i] !== s[m - 1]) :
  ch[i] === s[m - 1 + m]) */


//console.log(ch)
//.join('')


console.log(`
  testosterone 'st' ${getMiddle('testosterone')}
  intelligence 'li' ${getMiddle('intelligence')}
  fly          'l'  ${getMiddle('fly')}
  fried        'i'  ${getMiddle('fried')}
  testing      't'  ${getMiddle('testing')}
   middle     'dd'  ${getMiddle('middle')}
`)


/////////////////////////////////////

//let m = Math.ceil(s.length/2);
//string
/* const getMiddle2 = s => s.slice(Math.ceil(s.length / 2) - 1, Math.floor(s.length / 2) + 1);

console.log(
  `test ${getMiddle2('test')}
  intelligence ${getMiddle2('intelligence')}
  eye ${getMiddle2('eye')}`
) */