Squ*_*3lz 5 javascript foreach loops
我有以下 js 并在循环中收到错误foreach:
function bitCount(n) {
var strBitCount = (n >>> 0).toString(2);
var answer = 0;
var c = '';
foreach(c in strBitCount)
{
if(Number(c) == 1)
{
answer++;
}
}
return answer;
}
Run Code Online (Sandbox Code Playgroud)
Mat*_*zer 16
JavaScript 没有foreach其他语言那样的块。
你可以做的是使用Array.prototype.forEach:
Array.from("hello").forEach(function(character) {
console.log(character);
});Run Code Online (Sandbox Code Playgroud)
嗯,在 ES2015 及以上版本中,你可以使用for..of
for (let character of "hello") {
console.log(character);
}Run Code Online (Sandbox Code Playgroud)
您可以filter在字符串中与您的测试匹配的那些字符上返回该数组的长度。
function bitCount(n) {
var strBitCount = (n >>> 0).toString(2);
var equalsOne = function (char) { return +char === 1; }
return [].filter.call(strBitCount, equalsOne).length;
}
Run Code Online (Sandbox Code Playgroud)