Thursday, September 4, 2025
HomeLanguagesJavascriptHow to check a given string is an anagram of another string...

How to check a given string is an anagram of another string in JavaScript ?

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'));


Output

true


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'));


Output

true


Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!
RELATED ARTICLES

Most Popular

Dominic
32263 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6627 POSTS0 COMMENTS
Nicole Veronica
11799 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11858 POSTS0 COMMENTS
Shaida Kate Naidoo
6749 POSTS0 COMMENTS
Ted Musemwa
7025 POSTS0 COMMENTS
Thapelo Manthata
6696 POSTS0 COMMENTS
Umr Jansen
6716 POSTS0 COMMENTS