javascript - 当我应用条件跳过键为偶数的数组值时,为什么会得到空结果?
问题描述
我试图随机打印一个工作正常的数组值。但是当我应用条件来跳过键是奇数(不是偶数)的数组时,我有时会得到一个什么都不显示的结果,不知道为什么。请需要帮助。
这是代码:
var arr = [0,1,2,3,4,5];
var rand = Math.floor(Math.random() * arr.length)
if(rand % 2 !== 0)
console.log(arr[rand]);
解决方案
使用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");
推荐阅读
- python - 在命令提示符下使用 pip 安装软件包会引发错误
- android - ThorzScrollBox 中的控件和父触摸
- intellij-idea - 我可以使用 jdk 10.0.1 作为我的 intelliJ 的项目 sdk
- vba - 将工作表保存到新工作簿并根据单元格值重命名
- javascript - 仅在 WKWebView 网页完全加载后运行注入的 JavaScript 脚本
- facebook - 提取 og:image 时出现 Facebook 错误
- uwp - bluetoothLE 通用样本值已更改
- javascript - 当 jquery 类等于某个值时,如何执行数学运算?
- reactjs - JSS Obj - 从同一父 obj 中的另一个属性引用属性值
- c# - Windows 安装程序禁止某些安装位置