JS Snippets: String: Difference between revisions
From WikiMLT
(9 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
==References== | ==References== | ||
*[https://github.com/metalevel-tech/exc-js-homework | *Scrimba: [https://scrimba.com/learn/interviewchallenges JavaScript Interview Challenges] | ||
*MLT GitHub: [https://github.com/metalevel-tech/exc-js-homework JavaScript Homework Tasks] | |||
==Reverse a String== | ==Reverse a String== | ||
<syntaxhighlight lang="typescript"> | <syntaxhighlight lang="typescript" line="1"> | ||
function reverse(str: string) { | function reverse(str: string) { | ||
return str.split("").reverse().join(""); | return str.split("").reverse().join(""); | ||
} | } | ||
</syntaxhighlight><syntaxhighlight lang="typescript"> | </syntaxhighlight><syntaxhighlight lang="typescript" line="1"> | ||
function reverse(str: string) { | function reverse(str: string) { | ||
let newStr = ""; | let newStr = ""; | ||
Line 21: | Line 22: | ||
* ''Palindromes are words that are the same forward or backward.'' | * ''Palindromes are words that are the same forward or backward.'' | ||
<syntaxhighlight lang="typescript"> | <syntaxhighlight lang="typescript" line="1"> | ||
function isPalindrome(str: string) { | function isPalindrome(str: string) { | ||
return str === str.split("").reverse().join(""); | return str === str.split("").reverse().join(""); | ||
Line 30: | Line 31: | ||
*''Anagrams are groups of words that can be spelled with the same letters.'' | *''Anagrams are groups of words that can be spelled with the same letters.'' | ||
<syntaxhighlight lang="typescript"> | <syntaxhighlight lang="typescript" line="1"> | ||
function isAnagram(str1: string, str2: string) { | function isAnagram(str1: string, str2: string) { | ||
if (str1.length !== str2.length) return false; | if (str1.length !== str2.length) return false; | ||
Line 36: | Line 37: | ||
} | } | ||
</syntaxhighlight> | |||
== Is Anagram: Sentences in Array == | |||
* ''[https://scrimba.com/learn/interviewchallenges/challenge-find-anagrams-in-an-array-cv2mMrHK Scrimba challenge: Find anagram in array.]'' | |||
<syntaxhighlight lang="typescript" line="1" class="code-continue" start="1"> | |||
function sortPhrase(phrase) { | |||
return phrase.toLowerCase().split("").sort().join("").trim(""); | |||
} | |||
function isAnagramInArray(anagram, arr) { | |||
const anagramSorted = sortPhrase(anagram); | |||
return arr.filter((entry) => anagramSorted === sortPhrase(entry)); | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="javascript" class="code-continue"> | |||
const anagrams = [ | |||
"moz biblical torchbearers", | |||
"it's razorbill beachcomber", | |||
"och mcrobbie trailblazers", | |||
"bib chorizo cellarmaster", | |||
"thor scribble carbimazole", | |||
]; | |||
console.log(isAnagramInArray("Bob Ziroll Scrimba Teacher", anagrams)); | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="shell-session" class="code-continue"> | |||
(3) ['moz biblical torchbearers', 'och mcrobbie trailblazers', 'thor scribble carbimazole'] | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 41: | Line 71: | ||
*''Write a function that will capitalize every word in a sentence.'' | *''Write a function that will capitalize every word in a sentence.'' | ||
<syntaxhighlight lang="typescript" class="code-continue"> | <syntaxhighlight lang="typescript" class="code-continue" line="1"> | ||
function capitalizeWord(word: string) { | function capitalizeWord(word: string) { | ||
return word[0].toUpperCase() + word.slice(1); | return word[0].toUpperCase() + word.slice(1); | ||
Line 56: | Line 86: | ||
<syntaxhighlight lang="shell-session" class="code-continue"> | <syntaxhighlight lang="shell-session" class="code-continue"> | ||
Pumpkin Pranced Purposefully Across The Pond | Pumpkin Pranced Purposefully Across The Pond | ||
</syntaxhighlight> | |||
== Remove the Duplicate Chars == | |||
<syntaxhighlight lang="typescript" class="code-continue" line="1"> | |||
function removeDupeChars(chars: string) { | |||
let output = ""; | |||
for (const char of chars) | |||
if (!output.includes(char)) | |||
output += char; | |||
return output; | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="javascript" class="code-continue"> | |||
console.log(removeDupeChars("pumpkin pranced purposefully across the pond")); | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="shell-session" class="code-continue"> | |||
pumkin racedosflyth | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<noinclude> | <noinclude> | ||
<div id= | <div id='devStage'> | ||
{{devStage | {{devStage | ||
| Прндл = JavaScript | | Прндл = JavaScript | ||
| Стадий = | | Стадий = 6 | ||
| Фаза = | | Фаза = Утвърждаване | ||
| Статус = | | Статус = Утвърден | ||
| ИдтПт = Spas | | ИдтПт = Spas | ||
| РзбПт = {{REVISIONUSER}} | | РзбПт = Spas | ||
| АвтПт = Spas | |||
| УтвПт = {{REVISIONUSER}} | |||
| ИдтДт = 11.03.2023 | | ИдтДт = 11.03.2023 | ||
| РзбДт = {{Today}} | | РзбДт = 11.03.2023 | ||
| АвтДт = 11.03.2023 | |||
| УтвДт = {{Today}} | |||
| ИдтРв = [[Special:Permalink/32386|32386]] | | ИдтРв = [[Special:Permalink/32386|32386]] | ||
| РзбРв = {{REVISIONID}} | | РзбРв = [[Special:Permalink/32389|32389]] | ||
| АвтРв = [[Special:Permalink/32391|32391]] | |||
| УтвРв = {{REVISIONID}} | |||
}} | }} | ||
</div> | </div> | ||
</noinclude> | </noinclude> |
Latest revision as of 16:23, 11 March 2023
References
- Scrimba: JavaScript Interview Challenges
- MLT GitHub: JavaScript Homework Tasks
Reverse a String
function reverse(str: string) {
return str.split("").reverse().join("");
}
function reverse(str: string) {
let newStr = "";
for (let i = str.length - 1; i >= 0; i--) newStr += str[i];
return newStr;
}
Is Palindrome
- Palindromes are words that are the same forward or backward.
function isPalindrome(str: string) {
return str === str.split("").reverse().join("");
}
Is Anagram
- Anagrams are groups of words that can be spelled with the same letters.
function isAnagram(str1: string, str2: string) {
if (str1.length !== str2.length) return false;
return str1.split("").sort().join("") === str2.split("").sort().join("");
}
Is Anagram: Sentences in Array
function sortPhrase(phrase) {
return phrase.toLowerCase().split("").sort().join("").trim("");
}
function isAnagramInArray(anagram, arr) {
const anagramSorted = sortPhrase(anagram);
return arr.filter((entry) => anagramSorted === sortPhrase(entry));
}
const anagrams = [
"moz biblical torchbearers",
"it's razorbill beachcomber",
"och mcrobbie trailblazers",
"bib chorizo cellarmaster",
"thor scribble carbimazole",
];
console.log(isAnagramInArray("Bob Ziroll Scrimba Teacher", anagrams));
(3) ['moz biblical torchbearers', 'och mcrobbie trailblazers', 'thor scribble carbimazole']
Title Case
- Write a function that will capitalize every word in a sentence.
function capitalizeWord(word: string) {
return word[0].toUpperCase() + word.slice(1);
}
function toTitleCase(str: string) {
return str.split(" ").map(word => capitalizeWord(word)).join(" ");
}
console.log(toTitleCase("pumpkin pranced purposefully across the pond"));
Pumpkin Pranced Purposefully Across The Pond
Remove the Duplicate Chars
function removeDupeChars(chars: string) {
let output = "";
for (const char of chars)
if (!output.includes(char))
output += char;
return output;
}
console.log(removeDupeChars("pumpkin pranced purposefully across the pond"));
pumkin racedosflyth