遍历数组以检查字符串是否```包含```另一个字符串

Iterating over array to check whether strings ```includes``` another string

使用includes方法检查数组中的字符串是否包含另一个字符串。基本上就像一个搜索功能类型的东西。

这是我目前所拥有的

this.findIngredient = function(ingredientName) {
          for (i=0; i < this.ingredients.length; i++) {
               if (this.ingredients[i].includes(ingredientName)) {
                     return true
                     break
                 } else {
                    return false
                   }
                }
            }

我不确定的是为什么当 this.ingredient 确实包含一个包含 ingredientName 的字符串时它仍然输出 false.

对于上下文,这是 this.ingredient 数组

this.ingredients = ["500g plain flour", "1 tsp fine salt", "2 heaped tsp baking powder"]

从循环中删除 else 块应该可以解决问题。

解释-

this.ingredients[i].includes(ingredientName)false 时,else 块为 运行。在您的代码中,当 else 块 returns false 时,这意味着您的循环将没有机会检查成分数组中的每个元素,因为该函数在看到 [=19 时将停止执行=]声明。