Determine whether any permutation of a string is a palindrome
This is similar to a previous question of yours, Find the elements that appear only once, and the same advice applies: use a Set and maintain a flag instead of a count.  If your Set ends up with size of zero or one, it's a palindrome.  Otherwise no.

const isPalindrome = s =&gt; s.split("").reduce( 
    (once, x) =&gt; (once.delete(x) || once.add(x), once),
    new Set() 
  ).size &lt;= 1


If inputs are constrained to 26 letters, you can map each letter to a unique power of 2 and replace the set with a bit vector (aka an "integer"), using XOR to track which bits appear an odd number of times.  This may or may not be faster than a Set but it will certainly use less memory.  I'll leave the implementation as an exercise for the reader.