使用 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
广告