微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我试图将数字返回到控制台,在下面的数组中可以被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,因为任何非零数字都会转换为true.

该陈述应该是:if(i%3 === 0){因为如果除以3并且余数为0,你只想分支到真部分.

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

var numbers = [1,10]

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

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

var numbers = [1,10];

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

console.log(results);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐