Last active
September 13, 2020 03:57
-
-
Save Gbahdeyboh/965a96570d756cde7b5b35be1b3c6b23 to your computer and use it in GitHub Desktop.
This is the solution to the first task of JavaScript Minna Internship
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
STEP 1 | |
- Check each letter in the sentence | |
- Check if it's uppercase | |
- If it's upper case, convert it to lower case and vice versa | |
*/ | |
const isLowerCase = ( letter ) => { | |
const regex = /[a-z]/g; | |
const reg = new RegExp(regex); | |
return reg.test(letter); | |
} | |
const transposeCase = ( sentence ) => { | |
let sentenceArray = sentence.split(''); | |
sentenceArray = sentenceArray.map(item => { | |
if(isLowerCase(item)){ | |
return item.toUpperCase(); | |
} else { | |
return item.toLowerCase(); | |
} | |
}) | |
return sentenceArray.join(''); | |
} | |
const filterUpperCasedWords = ( sentence ) => { | |
let sentenceArray = sentence.split(' '); | |
const filteredWords = sentenceArray.filter(item => { | |
return !isLowerCase(item[0]); | |
}) | |
return filteredWords; | |
} | |
const ingWords = (sentence) => { | |
let sentenceArray = sentence.split(' '); | |
const filteredWords = sentenceArray.filter(item => { | |
item = item.toLowerCase(); | |
return item.endsWith('ing'); | |
}) | |
return filteredWords; | |
} | |
const isPalindrome = ( words ) => { | |
words = words.map(word => word.toLowerCase()); | |
const palidromes = words.filter(word => { | |
return word == word.split('').reverse().join(''); | |
}) | |
return palidromes; | |
} | |
function task( sentence ){ | |
const transposedCase = transposeCase(sentence); | |
const uppercased = filterUpperCasedWords(transposedCase); | |
const ing = ingWords(sentence); | |
const palindrome = isPalindrome(uppercased); | |
const result = { | |
uppercased, | |
ing, | |
palindrome, | |
} | |
return result; | |
} | |
const sentence = 'maDam aYOing Who Stays IniNg oYo Was in aING Bus to Lagos whEn Her Son Sold the rAceCar' | |
console.log(task(sentence)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment