Anagram strings in Javascript
Number of deletions needed to make two random strings, anagrams of each other in Javascript
by Farzad YZ
JavaScript
function anagrams(a, b) {
var freqA = charFreq(a);
var freqB = charFreq(b);
var deletions = 0;
getChars().forEach(char => {
deletions += Math.max(freqA[char], freqB[char]) - Math.min(freqA[char], freqB[char]);
});
return deletions;
}
function getChars() {
return 'abcdefghijklmnopqrstuvwxyz'.split('');
}
function charFreq(str) {
var chars = getChars();
str = str.toLowerCase();
var freq = {};
chars.forEach(char => {
var charNum = str.split('').filter(x => x === char);
freq[char] = charNum ? charNum.length : 0;
});
return freq;
}
console.log(anagrams('cde', 'abc'));
console.log(anagrams('farzad', 'ebad'));
console.log(anagrams('salam',...