为什么这会返回错误?我认为for循环应该遇到前3个,满足if条件然后返回true.谢谢你的帮助.
var array = [3, 3, 0, 0, 0, 3, 3];
function some(array) {
for (var i = 0; i < array.length; i++) {
if (array[i] == true) {
return true;
}
}
return false;
};
console.log(some(array));
// falseRun Code Online (Sandbox Code Playgroud)
它返回false,因为您正在比较true数组中的值并且没有数值是true1(javascript认为是true).如果您修改支票只是检查值的真实性,那么您将得到您期望的值.
var array = [3, 3, 0, 0, 0, 3, 3];
function some(array) {
for (var i = 0; i < array.length; i++) {
if (array[i]) { //Notice we just check for a truthy value
return true;
}
}
return false;
};
console.log(some(array));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |