18910140161

JavaScript-如何使if语句在整个for循环执行过程中运行而不转到else语句?-堆栈溢出

顺晟科技

2022-10-19 14:05:46

174

似乎从问题中继续 我的代码总是输出else语句,即使if语句为true,我认为这是因为for循环在被拒绝之前没有得到完全执行,而这在中是不可用的,因此即使在

时,输出也总是“我不明白”

如何解决此问题?


顺晟科技:

您的代码运行良好。

但它并不像您想的那样工作。

数据有: 和第一个循环

如果等于且打印不起作用else语句

和第二个循环不等于,所以这次有效

因此,如果它找到相等的值,则必须中断

如下所示

请添加一行代码。

当输入vale等于data[i].s时,请添加“i=data.length;”

您的问题是,您的循环将继续为数组中的所有条目运行。这意味着即使找到匹配项,循环仍将继续运行,这将导致innerText被替换,直到最后一项。

有一种简单的方法可以做到这一点:您只需要检查用户输入是否与Object数组中嵌套键的任何值匹配。您可以使用检索与您的需求相匹配的索引。

如果索引大于,那么您知道您有匹配项。否则,您可以返回fallback语句,例如:

input.value

为了简单起见,可以将其压缩为一行程序:

input.value

当然,只有当嵌套值在数组中唯一时,此解决方案才有效。否则,您将始终获得第一个出现的匹配实例。

还有一些其他提示:

  • 不要使用内联JS绑定。改为使用
  • 您可能希望转换为小写,以便执行不区分大小写的匹配
  • 存储函数的外部:它是一个常量,不必在每次调用函数时重新声明

请参阅下面的概念验证和应用的其他提示:

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航