2016-12-03 66 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)