JavaScript: Rearrange a string to become a palindrome

JavaScript String: Exercise-57 with Solution

When a word, phrase, or sequence can be read both forward and backward, it is considered a palindrome. e.g., madam or nurses run.
Write a JavaScript function that receives a string and determines whether or not it can be rearranged to become a palindrome.
Test Data:
("maamd") -> true
("civic") -> true
("IO") -> false
(12321) -> "It must be a string."

Sample Solution:

HTML Code:

<!DOCTYPE html>
  <meta charset="utf-8">
  <title>JavaScript function to rearrange a string to become a palindrome</title>


JavaScript Code:

const test = (word) => {
    if (word.length === 0) 
    return 'String should not be empty!'
    if (typeof word !== 'string')
       return 'It must be a string.'
   const char_ctr = [...word].reduce((obj, el) => {
    obj[el] = obj[el] ? obj[el] + 1 : 1
    return obj
  }, {})
  return Object.values(char_ctr).filter(count => count % 2 !== 0).length <= 1

Sample Output:

It must be a string.


Flowchart: JavaScript: Rearrange a string to become a palindrome

Live Demo:

See the Pen javascript-string-exercise-57 by w3resource (@w3resource) on CodePen.

Improve this sample solution and post your code through Disqus

Previous: Check a string is in Pascal case.
Next: Find the most frequent character in a string.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Follow us on Facebook and Twitter for latest update.