使用 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 次觀看

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.