这里是“Beginning JS 4th edition”一书的代码部分。当我在浏览器中加载它时会向我显示2次警报,因为我在数组中输入了2个NaN。 我总是只想一次显示警报,我怎么能只知道操作员才能知道?
if (isNaN(degFahren[loopCounter]))
{
alert ("You have text parameters that will be skipped");
continue;
}
据我所知,循环只能在@if块内运行一次,但无法实现((
谢谢!!!
答案 0 :(得分:1)
尝试使用适当的数组方法includes
,查看数组是否包含特定元素。
const arr = [1, NaN, NaN, 4];
if(arr.includes(NaN)) {
alert('You have text parameters that will be skipped.');
}
您不需要双嵌套for
循环。
如果您需要检查特定元素在数组中的次数,您可以使用.filter
创建一个只包含匹配元素的新数组,并检查新数组的{ {1}}:
length
答案 1 :(得分:0)
最通用的方法是引入变量:
var numberOfWarnings = 0;
只要有理由显示警告,就递增并测试其值:
if (numberOfWarnings++ == 0) alert("You'll see me only if I was first.");