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')}`
) */