JSFiddle - React, Tailwind, and code Playground
by BurpmanJunior
CSS
html,
body{
font-family: monospace;
}
strong{
text-decoration: underline;
}
JavaScript
/**
* ANAGRAM CHECKER
*/
/* VERSION 1.0
function anagram(a, b) {
var match = false,
aSplit = a.replace(/[^a-zA-Z]+/ig, '').toLowerCase().split(''),
bSplit = b.replace(/[^a-zA-Z]+/ig, '').toLowerCase().split('');
if (aSplit.length == bSplit.length) {
match = true;
for (var i = 0; i < aSplit.length; i++) {
m = false;
for (var n = 0; n < bSplit.length && !m; n++) {
if (bSplit[n] == aSplit[i]) {
m = true;
bSplit[n] = null;
}
}
if(!m){
match = false;
};
}
}
return match;
}
*/
/* VERSION 2.0 */
function anagram(a, b) {
var match = false,
aSplit = a.toLowerCase().replace(/[^a-z]+/ig, '').split(''),
bSplit = b.toLowerCase().replace(/[^a-z]+/ig, '').split('');
if (aSplit.length == bSplit.length) {
match = true;
aSplit.sort();
bSplit.sort();
for(var i = 0; i < aSplit.length && match; i++){
if(aSplit[i] != bSplit[i]){
match = false;
}
}
}
return match;
}
var strings = [
['testers', 'streets'],
['colour', 'cooler'],
['angle', 'Angel'],
['anagram', 'Nag A Ram']
];
for (var i = 0; i < strings.length; i++) {
document.body.innerHTML = document.body.innerHTML + strings[i][0] + ' : ' + strings[i][1] + ' - ' + (anagram(strings[i][0], strings[i][1]) ? 'is an anagram' : 'is <strong>not</strong> an anagram') + '<br />';
}