如何检查数组中的每个元素是否有特定条件

时间:2018-10-13 17:31:45

标签: javascript arrays for-loop

我在数组中存储了六个整数:

[2,3,4,5,6,7]

我想使用数组中的每个项目检查一系列其他整数100 - 999(即所有三位数字)以查找除以1余数的数字通过全部分别 阵列中的项目。

我不确定要使用哪种javascript方法。我正在尝试for循环:

function hasRemainder() {
  let arr = [2,3,4,5,6,7];
  for (i = 100; i < 999; i++) {
    if (i % arr[0] == 1) {
    return i;
    }
  }
}

但是它有一些我需要解决的问题。

  • 而不是引用特定的项目,例如arr[0],我需要找到一种遍历数组中所有项目的方法。
  • 当前,该函数仅返回一个数字(循环在第一个数字处停止,并保留余数),但是我需要给定范围内的所有可能值。

如果有人可以帮助解决这两个问题,我将非常感激。谢谢。

2 个答案:

答案 0 :(得分:2)

您可以映射一个值数组,然后通过检查每个余数来过滤该数组。

function hasRemainder() {
    var array = [2, 3, 4, 5, 6, 7];
    return Array
        .from({ length: 900 }, (_, i) => i + 100)
        .filter(a => array.every(b => a % b === 1));
}

console.log(hasRemainder())

答案 1 :(得分:0)

这也有效;

function hasRemainder() {
  const arr = [2, 3, 4, 5, 6, 7];
  const remainders = []
  for (i = 100; i < 999; i++) {
     const isRemainder = arr.every(numb => i % numb === 1)
     if (isRemainder) {
        remainders.push(i)
     }
    }
    return remainders
  }