find the nearest vowel for all

Codewars 4kyu one line task

by trentHarlem

JavaScript

//f = s => s.toLowerCase().split('').map((char, i, arr) => char === ('a' || 'e' || 'i' || 'o' || 'u') ? 0 : Math.min(i - arr.indexOf('a'), i - arr.indexOf('e'), i - arr.indexOf('i'), i - arr.indexOf('o'), i - arr.indexOf('u')))
//vowelIndex=s=>[...s].map((ch,i,a)=>ch.match(/[aeiou]/gi)?0:Math.min(a.indexOf(ch)-a.lastIndexOf(/[aeiou]/gi)))

f3=a=>[...a].map((_,B,V)=>Math.min(...V.map((c,C)=>/[aeiou]/i.test(c)?C>B?C-B:B-C:1/0)))

f4=s=>[...s].map((ch,I,A)=>Math.min(...A.map((c,Ind)=>/[aeiou]/gi.test(c)?Ind>I?Ind-I:I-Ind:1/0)))


vowelIndex=str=>str.split('').map((ch,i,a)=>ch===(/[aeiou]/i)?0:Math.abs(Math.min(i-a.indexOf(/[aeiou]/gi))))
/// tesing inline filter
//f2 = s => s.toLowerCase().split('').map((char, i, arr) => char === ('a' || 'e' || 'i' || 'o' || 'u') ? 0 : Math.min(i - arr.indexOf('a'), i - arr.indexOf('e'), i - arr.indexOf('i'), i - arr.indexOf('o'), i - arr.indexOf('u'))-1)

console.log('pApppppA'.match(/[aeiou]/gi) ? 'yea' : 'poo')
console.log(/[aeiou]/gi.test('pApa') ? 'yea' : 'poo')
//console.log('pApppppa'.indexOf(/[aeiouAEIOU]/))
console.log('index',['papppppa'.indexOf(...'a')])
//const vow = 'aeiou'
//const vowels = ['a', 'e', 'i', 'o', 'u']
//let a = 'e'
//console.log(f("abcdabcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')
//console.log(f2("abcdabcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')
console.log('vowelIndex', vowelIndex("abcdabcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')
console.log('vowelIndex', vowelIndex("ebcdibcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')
console.log('vowelIndex---F4', f4("ebcdibcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')

console.log('MATH', 3 - 4, Math.abs(Math.min(3 - 4)))
//const poo = str => str.split('').map((char,i,arr) => char===('a'|| 'e'|| 'i'|| 'o'|| 'u')?0:Math.min(i))

//console.log(poo(''))
//console.log(poo(a))
//console.log(poo('ab'))
//console.log(poo('aba'))

//console.log(poo("aaaaa"), '[ 0, 0, 0, 0, 0 ]')

//console.log(poo("abcdabcd"), '[ 0, 1, 2, 1, 0, 1, 2, 3 ]')

//console.log(poo("shopper"),'[ 2, 1, 0, 1, 1, 0, 1...