How to check a given string is an anagram of another string in JavaScript ?
Last Updated : 03 Jul, 2024
In this article, we will learn how to check a given string is an anagram of another string in JavaScript. Before that, we should learn what is an anagram.
An anagram is a word or sentence, which usually contains all the original letters exactly once, in order to arrange the letters of a different term or phrase. Some of the examples are given below:
- evil = vile
- a gentleman = elegant man
- eleven plus two = twelve plus one
There are many approaches through which we can compare a string as an anagram of another string:
Approach 1: Using split(), sort(), and join() Methods
In this article, we will use in-built functions such as split(), sort(), and join() to check if a given string is an anagram of another string in JavaScript.
Example:
JavaScript function checkAnagram(a, b) { // Not of same length, can't be Anagram if (a.length !== b.length) { return false; } // Inbuilt functions to rearrange the string let str1 = a.split('').sort().join(''); let str2 = b.split('').sort().join(''); let result = (str1 === str2); return result; } // Checking the output console.log(checkAnagram('abc', 'cba'));
Approach 2: Using for loop
In this article, we will the javascript for loop to check if a given string is an anagram of another string in JavaScript.
Example:
JavaScript function checkAnagram(a, b) { let array = {}; if (a === b) { return true; } if (a.length !== b.length) { return false; } let minCharCode = Math.min(getMinCharCode(a), getMinCharCode(b)); for (let i = 0; i < a.length; i++) { let res = a.charCodeAt(i) - minCharCode; array[res] = (array[res] || 0) + 1; } for (let j = 0; j < b.length; j++) { let res = b.charCodeAt(j) - minCharCode; if (!array[res]) { return false; } array[res]--; } return true; } function getMinCharCode(str) { let minCharCode = Infinity; for (let i = 0; i < str.length; i++) { let charCode = str.charCodeAt(i); if (charCode < minCharCode) { minCharCode = charCode; } } return minCharCode; } console.log(checkAnagram('abc', 'cba'));
Approach 3: Using a Frequency Map
Using a frequency map to check anagrams involves creating maps for both strings, where each character's count is recorded. By comparing these maps, if all character counts match, the strings are anagrams.
Example :
JavaScript const areAnagrams = (str1, str2) => { if (str1.length !== str2.length) return false; const frequencyMap = (str) => { const map = {}; for (let char of str) { map[char] = (map[char] || 0) + 1; } return map; }; const map1 = frequencyMap(str1); const map2 = frequencyMap(str2); for (let char in map1) { if (map1[char] !== map2[char]) return false; } return true; }; console.log(areAnagrams("listen", "silent")); // true console.log(areAnagrams("hello", "world")); // false
Similar Reads
Javascript Program To Check If A String Is Substring Of Another Given two strings s1 and s2, find if s1 is a substring of s2. If yes, return the index of the first occurrence, else return -1. Examples :Â Input: s1 = "for", s2 = "geeksforgeeks" Output: 5 Explanation: String "for" is present as a substring of s2. Input: s1 = "practice", s2 = "geeksforgeeks" Output
2 min read
JavaScript - How to Check if a String "StartsWith" Another String in JavaScript? Here are the various methods to check if a string starts with another string in JavaScript1. Using String.startsWith() MethodThe most widely used method is the startsWith() method, built into JavaScript. This method is simple to use, highly readable, and performs the task efficiently.JavaScriptlet s
3 min read
Check two given strings are isomorphic in JavaScript Two strings are said to be isomorphic if it is possible to map every character of the first string to every character of the second string. Basically, in isomorphic strings, there is a one-to-one mapping between every character of the first string to every character of the second string. We can also
5 min read
How to check a string is entirely made up of the same substring in JavaScript ? We are given a string and the task is to determine whether the string is made up of the same substrings or not. 1. Using Regular Expression with test() method Initialize a string to the variable.Use the test() method to test a pattern in a string.The test() method returns true if the match is found,
3 min read
Check if two strings are permutation of each other in JavaScript In this approach, we are going to discuss how we can check if two strings are permutations of each other or not using JavaScript language. If two strings have the same number of characters rather than having the same position or not it will be a permutation. Example: Input: "pqrs" , "rpqs"Output: Tr
4 min read