Skip to content

Instantly share code, notes, and snippets.

@Gbahdeyboh
Last active September 13, 2020 03:57
Show Gist options
  • Save Gbahdeyboh/965a96570d756cde7b5b35be1b3c6b23 to your computer and use it in GitHub Desktop.
Save Gbahdeyboh/965a96570d756cde7b5b35be1b3c6b23 to your computer and use it in GitHub Desktop.
This is the solution to the first task of JavaScript Minna Internship
/**
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