javascript - 使用 For 循环返回数组中可被 3 整除的数字?

标签 javascript arrays loops

我正在尝试将下面数组中可被 3 整除的数字返回到控制台,使用如下所示的 for 循环。

它将数字 2-9 返回到控制台,但不是可以被 3 整除的数字?我难住了?我做错了什么?

var numbers = [1,2,3,4,5,6,7,8,9,10]

for(var i = 0; i < numbers.length; i++) {
    if(i % 3){
       console.log(numbers[i]);
    }
}

最佳答案

if 语句根据条件语句的结果进行分支。 if(i % 3){ 将在模运算结果不为 0 的任何时候返回 true,因为任何非零数字都会转换为

语句应该是:if(i % 3 === 0){ 因为如果除以 3 和余数为 0

接下来,您使用循环索引作为要操作的数字,但是您需要使用带有循环计数器索引的数组项 numbers[i],而不是 i

var numbers = [1,2,3,4,5,6,7,8,9,10]

for(var i = 0; i < numbers.length; i++) {
    if(numbers[i] % 3 === 0){
       console.log(numbers[i]);
    }
}

此外,这里更简单的方法可能是使用 Array.filter() ,它遍历数组并返回一个包含您指定值的新数组:

var numbers = [1,2,3,4,5,6,7,8,9,10];

var results = numbers.filter(function(num){
  return num % 3 === 0;
});

console.log(results);

关于javascript - 使用 For 循环返回数组中可被 3 整除的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50239356/

相关文章:

ios - Swift - 如果文本与数组中的任何字符串完全匹配

R:重复脚本 n 次,在每次迭代中更改变量

javascript - 自动生成bower文件?

javascript - Angular JS ng-options 没有值(value)

javascript - 在 WinRT 中并行或顺序复制文件

javascript - 如何将数组中的元素分组为满足特定条件的对象并将其推送到新数组

C矩阵函数分割错误

javascript - 如何管理每行动态创建的按钮的功能?

javascript - 如何在javascript中对具有相同日期的行求和?

javascript - 嵌套数组以及 ID 和 NAME