Are the strings anagrams in JavaScript

Anagrams −

Two strings are said to be anagrams of each other if by rearranging, rephrasing or shuffling the first we can form a string identical to the second.

For example −

'something' and 'emosghtin' are anagrams of each other.

We are required to write a JavaScript function that takes in two string, say str1 and str2 and return true if they are anagrams of each other, false otherwise.


The code for this will be −

const str1 = "something";
const str2 = "emosghtin";
const validAnagram = (str1 = '',str2 = '') => {
   let obj1 = {}
   let obj2 = {}
   if (str1.length !== str2.length){
      return false
   for(let char of str1){
      obj1[char]= (obj1[char] || 0) + 1
   for(let char of str2){
      obj2[char]= (obj2[char] || 0) + 1
   for(let val in obj1){
      if(!(val in obj2) || (obj2[val] !== obj1[val])){
         return false
   return true;
console.log(validAnagram(str1, str2));


And the output in the console will be −