w3resource

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>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript function to rearrange a string to become a palindrome</title>
</head>
<body>

</body>
</html>

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
}
console.log(test("maamd"))
console.log(test("civic"))
console.log(test("IO"))
console.log(test(12321))

Sample Output:

true
true
false
It must be a string.

Flowchart:

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.