Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** ORIGINAL SOLUTION */
- function countLetter(letter, words) {
- const regExpLetter = new RegExp(letter, 'g');
- let result = words.match(regExpLetter);
- if (result) {
- return result.length
- }
- return result;
- }
- function checkAnagram(firstString, secondString) {
- let dataLength = 0;
- const letterLength = firstString.length;
- if (firstString.length === secondString.length) {
- // convert all to lowercase
- const firstStringLower = firstString.toLowerCase();
- const secondStringLower = secondString.toLowerCase();
- // check if each letter have a match & same count
- for(let i = 0; i < firstStringLower.length; i++) {
- let checkedList = [];
- const baseLetter = firstStringLower[i];
- for(let j = 0; j < secondStringLower.length; j++) {
- const compareLetter = secondStringLower[j];
- const isMatchLetter = baseLetter === compareLetter;
- const isSameCountLetter = countLetter(baseLetter, firstStringLower) === countLetter(baseLetter, secondStringLower);
- if (isMatchLetter && isSameCountLetter && !checkedList.includes(baseLetter)) {
- checkedList.push(baseLetter);
- dataLength += 1;
- }
- }
- }
- }
- return dataLength === letterLength;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement