首页 > 解决方案 > 当我应用条件跳过键为偶数的数组值时,为什么会得到空结果?

问题描述

我试图随机打印一个工作正常的数组值。但是当我应用条件来跳过键是奇数(不是偶数)的数组时,我有时会得到一个什么都不显示的结果,不知道为什么。请需要帮助。

这是代码:

var arr = [0,1,2,3,4,5];
var rand = Math.floor(Math.random() * arr.length)
if(rand % 2 !== 0)
  console.log(arr[rand]);

标签: javascript

解决方案


使用if...else不带花括号将认为下一个直接行是有条件的。

if (true) 
    console.log("in if")
else
    console.log("in else")

所以,在你的情况下,当你的if条件不满足时,它不会打印你的console.log

再举一个例子:

if (false) 
        console.log("in if...1")
        console.log("in if...2")

in if...2将始终打印,因为它现在不是 if 条件的一部分。因为它被分开new line (\n)

注意:-如果没有大括号的条件将下一个立即行视为有条件的。以后\n就不会再看了。

因此,如果您在两个控制台之间应用空间而不是输入,那么它仍然是if条件的一部分:

if (true) 
            console.log("in if...1");                                           console.log("in if...2");


推荐阅读