How to check a given string is an anagram of another string in JavaScript ?
Last Updated :
18 Jul, 2023
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:
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) {
if (a.length !== b.length) {
return false ;
}
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' ));
|
Share your thoughts in the comments
Please Login to comment...