Anagram

Run Settings
LanguageJavaScript
Language Version
Run Command
// verify if 2 strings are anagram - An anagram is a word, phrase or name formed by rearranging the letters of another // e.g cinema and iceman function isAnagram(string1, string2) { if (string1.length !== string2.length) return false; let str1 = string1.toLowerCase(); let str2 = string2.toLowerCase(); let obj1 = {}; let obj2 = {}; for (let val of str1) { // obj1[val] = (obj1[val] || 0) + 1; // check if key exist - if not - add the key and initiate with value 1 else increment the value obj1[val] ? obj1[val] = obj1[val] + 1: obj1[val] = 1; } for (let val of str2) { // obj2[val] = (obj2[val] || 0) + 1; // check if key exist - if not - add the key and initiate with value 1 else increment the value obj2[val] ? obj2[val] = obj2[val] + 1: obj2[val] = 1; } console.log(obj1); console.log(obj2); if (Object.values(obj1).length !== Object.values(obj2).length) { // compare length - Object.values(obj) returns array of object values return false; } for (let key in obj1) { if(obj1[key] !== obj2[key]) { // compare values for specific keys return false } } return true; } const areStringsAnagram = isAnagram('cinemaa', 'icemana'); console.log(areStringsAnagram);
Editor Settings
Theme
Key bindings
Full width
Lines