JSFiddle - React, Tailwind, and code Playground
JavaScript
function canBePalindrome(someStr) {
var map = {};
var arr = someStr.split('');
arr.forEach(function(s) {
s in map ? map[s]++ : map[s] = 1;
});
var len = Object.keys(map).filter(function(o) {
return map[o] % 2;
}).length;
return arr.length % 2 ? len === 1 : len === 0;
}
console.log( canBePalindrome("mddm") ); // true
console.log( canBePalindrome("asiosaoi") ); // true
console.log( canBePalindrome("mdadm") ); // true
console.log( canBePalindrome("mdasdm") ); // false