javascript - 为什么我得到索引二的回报?
问题描述
我不明白为什么我的返回是索引 2 而不是 for of 循环中的索引 0。
function cardPicker() {
let cards = [
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"J",
"Q",
"K",
"A"
];
for (p of cards) {
return cards[p];
}
}
解决方案
for ... of
循环遍历数组的值,而不是索引。因此,您的循环返回数组中索引 2 处的值,即字符串“4”。如果将其更改为for ... in
循环,则会得到字符串“2”。当然,循环根本没有意义,因为循环唯一要做的就是return
,所以它会在第一次迭代时退出。
也p
应该用let
or声明var
。
推荐阅读
- java - 如何接受一个空的整数值?
- javascript - javascript onclick 函数在加载时执行
- c++ - 二叉搜索树的 C++ 删除节点
- javascript - 页面加载时,来自 react-facebook-login 的 FacebookLogin 会被自动调用
- html - SMIL 动画无法使用 SVG spritesheet
- three.js - three.js 中的光线投射如何与屏幕外画布一起使用?
- r - R中列(排列)内值的条件重新排序
- react-native - 反应导航如何回到不同的堆栈
- android-uiautomator - 为什么打开uiautomatorviewer时cmd会报错?
- javafx - 我无法使用带有 JavaFX 12 的 netbeans 11 调试应用程序