JavaScriptを使用したバイナリ表現の1の数による並べ替え
問題
数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、それらの数値のバイナリ表現に存在する1の数の減少に従って数値を並べ替え、新しい配列を返す必要があります。
例
以下はコードです-
const arr = [5, 78, 11, 128, 124, 68, 6];
const countOnes = (str = '') => {
let count = 0;
for(let i = 0; i < str.length; i++){
const el = str[i];
if(el === '1'){
count++;
};
};
return count;
};
const sortByHighBit = (arr = []) => {
arr.sort((a, b) => countOnes(b) - countOnes(a));
return arr;
};
console.log(sortByHighBit(arr)); 出力
[ 5, 78, 11, 128, 124, 68, 6 ]
-
JavaScriptを使用して、小数の隣接する2進ビットを交換して別の小数を生成する
問題 数値を取り込むJavaScript関数を作成する必要があります。 この関数は、数値に相当する2進数を反復処理し、隣接するビットを交換して新しい2進数を作成する必要があります。そして最後に、関数は新しいバイナリに相当する10進数を返す必要があります。 例 以下はコードです- const num = 13; const swapBits = (num) => { let arr = num.toString(2).split(''); if(arr.length % 2){  
-
JavaScriptを使用して10進値が偶数のバイナリ文字列を並べ替える
問題 長さ3のバイナリ文字列をすべてスペースで区切った文字列を取り込むJavaScript関数を作成する必要があります。 この関数は、数値を昇順で並べ替える必要がありますが、偶数を並べ替え、すべての奇数をそのまま残します。 例 以下はコードです- const str = '101 111 100 001 010'; const sortEvenIncreasing = (str = '') => { const sorter = (a, b) => { const findIn