2016-12-03 6 views

答えて

1

チェック

var binary = '110001'.split("").reverse(); 
 

 
var sum = binary.reduce(function(previous, current, index) { 
 
    previous = previous + (current * Math.pow(2, index)); 
 
    return previous; 
 
}, 0); 
 

 
console.log(sum);

が、それはそれが何を最も簡単でしょう

3

役に立てば幸いこのスニペット

console.log(Array.from('110001').reduce((prev, cur) => prev << 1 | cur));

<<ここで、本質的に2で乗算左ビットシフト演算子です。

Array.from(利用可能な場合)は、splitよりも好ましいです。この場合は問題ありませんが、splitなどのサロゲートペア文字では失敗し、Array.fromは正しく処理されます。これは[...'110001']と書くこともできますが、これは同じことになります。もちろん

、あなたはまた、単に言うことができる

parseInt('110001', 2) 
関連する問題