【发布时间】:2021-04-12 18:15:39
【问题描述】:
如何编写一个只将真值相加的函数?我试过了,但它不起作用:
const array1 = [true, true, true, false, true, true, true, true, true, false, true, false, true,
false, false, true, true, true, true, false, false, true, true,];
const array2 = [];
function countSheeps(arrayOfSheep) {
for (let i = 0; i < array1.length; i++) {
if (array1[i] === true) continue;
return console.log(array2.push(countSheeps(array1)));
}
}
正如你所见,我是一个初学者,所以你的解释对我来说意味着一个世界。
【问题讨论】:
-
将返回移出循环——它会导致你的循环提前结束
-
我这样做了,结果发生了:Uncaught RangeError: Maximum call stack size exceeded.
-
@vladika 下面的代码将循环遍历array1,如果条件匹配它将把值推入array2
-
console.log(array1.filter(Boolean).length);-->16 -
这很好用。非常感谢!
标签: javascript arrays function