使用 JavaScript 对具有偶数十进制值的二进制字符串进行排序


问题

我们需要编写一个 JavaScript 函数,该函数接收一个字符串,其中包含长度为 3 的所有二进制字符串,全部用空格分隔。

我们的函数应该按升序对数字进行排序,但只对偶数进行排序,将所有奇数保留在原位。

示例

以下是代码 −

 在线演示

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));

输出

101 111 100 001 010

更新于: 21-Apr-2021

134 次观看

开启你的 职业生涯

完成课程即可获得认证

开始学习
广告