JavaScript anagram comparison
javascript
Solution
Instead of comparing letter by letter, after sorting you can `join` the arrays to strings again, and let the browser do the comparison:
function compare (a, b) {
var y = a.split("").sort().join(""),
z = b.split("").sort().join("");
console.log(z === y
? a + " and " + b + " are anagrams!"
: a + " and " + b + " are not anagrams."
);
}
Problem
I'm trying to compare two strings to see if they are anagrams. My problem is that I'm only comparing the first letter in each string. For example, "Mary" and "Army" will return true but unfortunately so will "Mary" and Arms." How can I compare each letter of both strings before returning true/false? Here's a jsbin demo (click the "Console" tab to see the results"): http://jsbin.com/hasofodi/1/edit ``` function compare (a, b) { y = a.split("").sort(); z = b.split("").sort(); for (i=0; i<y.length; i++) { if(y.length===z.length) { if (y[i]===z[i]){ console.log(a + " and " + b + " are anagrams!"); break; } else { console.log(a + " and " + b + " are not anagrams."); break; } } else { console.log(a + " has a different amount of letters than " + b); } break; } } compare("mary", "arms"); ```