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