剑指offer

11-二进制中1的个数-补码-toString()的巧用

2020-04-30  本文已影响0人  马甲要掉了

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

代码

function NumberOf1(n){
    if(n < 0){
        n = n >>> 0;//get到新技能,该行命令能够获取到负数的补码
    }
    var arr = n.toString(2).split('');
    return arr.reduce(function(a,b){
        return b === "1" ? a + 1 : a;
    },0);
}
//array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
//initialValue                              可选。传递给函数的初始值
上一篇 下一篇

猜你喜欢

热点阅读