Sorting binary string having an even decimal value using JavaScript

JavascriptWeb DevelopmentFront End Technology

Problem

We are required to write a JavaScript function that takes in a string that contains binary strings of length 3 all separated by spaces.

Our function should sort the numbers in ascending order but only order the even numbers and leave all odd numbers in their place.

Example

Following is the code −

 Live Demo

const str = '101 111 100 001 010';
const sortEvenIncreasing = (str = '') => {
   const sorter = (a, b) => {
      const findInteger = bi => parseInt(bi, 2);
      if(findInteger(a) % 2 === 1 || findInteger(b) % 2 === 1){
         return 0;
      };
      return findInteger(a) - findInteger(b);
   };
   const res = str
   .split(' ')
   .sort(sorter)
   .join(' ');
   return res;
};
console.log(sortEvenIncreasing(str));

Output

101 111 100 001 010
raja
Published on 21-Apr-2021 10:19:07
Advertisements