首页 > 解决方案 > 为什么我得到索引二的回报?

问题描述

我不明白为什么我的返回是索引 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];
  }
}

标签: javascriptarraysfor-of-loop

解决方案


for ... of循环遍历数组的值而不是索引。因此,您的循环返回数组中索引 2 处的值,即字符串“4”。如果将其更改为for ... in循环,则会得到字符串“2”。当然,循环根本没有意义,因为循环唯一要做的就是return,所以它会在第一次迭代时退出。

p应该用letor声明var


推荐阅读