Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. /** ORIGINAL SOLUTION */
  2. function countLetter(letter, words) {
  3. const regExpLetter = new RegExp(letter, 'g');
  4. let result = words.match(regExpLetter);
  5. if (result) {
  6. return result.length
  7. }
  8. return result;
  9. }
  10. function checkAnagram(firstString, secondString) {
  11. let dataLength = 0;
  12. const letterLength = firstString.length;
  13. if (firstString.length === secondString.length) {
  14. // convert all to lowercase
  15. const firstStringLower = firstString.toLowerCase();
  16. const secondStringLower = secondString.toLowerCase();
  17. // check if each letter have a match & same count
  18. for(let i = 0; i < firstStringLower.length; i++) {
  19. let checkedList = [];
  20. const baseLetter = firstStringLower[i];
  21. for(let j = 0; j < secondStringLower.length; j++) {
  22. const compareLetter = secondStringLower[j];
  23. const isMatchLetter = baseLetter === compareLetter;
  24. const isSameCountLetter = countLetter(baseLetter, firstStringLower) === countLetter(baseLetter, secondStringLower);
  25. if (isMatchLetter && isSameCountLetter && !checkedList.includes(baseLetter)) {
  26. checkedList.push(baseLetter);
  27. dataLength += 1;
  28. }
  29. }
  30. }
  31. }
  32. return dataLength === letterLength;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement