首页 > 解决方案 > 我们如何检查 for 循环中的迭代 if 条件?

问题描述

我正在尝试在for 循环中迭代地检查if 条件。这意味着需要迭代生成if条件的一些表达式,如下例所示

let union = [1,2,3,4,5,6,7,8,9]
let control = [2,4,6]
let result = []
for(let i=0; i<union.length; i++){
  if(union[i] % 2 == 0 && union[i] !== control[i]){
    result.push(union[i])
  }
}

在上面的示例union[i] !== control[i]中是需要迭代验证/生成的条件表达式。换句话说,我们可以将问题描述为

结果数组应仅包含联合数组中的偶数,并且不应包含控制数组中的任何元素

所以结果数组应该是[8]

标签: javascript

解决方案


结果数组应仅包含联合数组中的偶数,并且不应包含控制数组中的任何元素

let union = [1,2,3,4,5,6,7,8,9]
let control = [2,4,6]
let result = []

union.forEach(item => {
    if(item % 2 == 0 && !control.includes(item)) {
        result.push(item);
    }
});

.includes方法检查项目是否在数组中。

或者只是一个简单的过滤器

const result = union.filter(item => item % 2 == 0 && !control.includes(item));

推荐阅读