此代码采用整数,并返回存在的1s。
function countOnes(i) {
let str = i.toString();
let ones = 0;
for(let x = 0; x < i.length; x++) {
if(str.charAt(x) === '1') ones++;
}
return ones;
}
console.log(countOnes(111000));
但是它似乎仅在某些JavaScript执行程序中有效。如果我将此代码输入p5.js或Mozilla MDN,我将收到所需的3
输出。
但是,如果我在浏览器和其他一些网站中使用控制台进行模拟,则0
将返回每个给定的值。
为什么会这样?
答案 0 :(得分:0)
尝试一下:
function countOnes(num) {
var counter = 0;
var numsArray = Array.from((num + ''))
numsArray.forEach(num => {
return (num == 1)? counter++ : ''
})
return counter
}
console.log(countOnes(1110010)); // 4