简单的 Javascript for 循环在第一次迭代后停止

2023-12-01

我读过很多其他有类似问题的帖子,但仍然不明白为什么这个很奇怪。我尝试执行 try/catch 并没有报告错误。数组实际上有 100 多个,但为了示例缩小了范围。它在搜索数组中的第一项时有效,但在一次迭代尝试后它会失败。我打印出数组长度,发现数组长度超过 100。

编辑:我应该注意,这是唯一使用 var k 的地方。

function main(){
  var list = [["feature 123", 5.0], ["feature 234", 38.0], ["feature 345", 38.0]];
  var search = "feature 234";
  var a = getIndexx(list, search);
}

function getIndexx(array, str) {
   for(var k=0; k < array.length; k++) {
     if(array[k][0] === str) {
       return k;
     } else {
       return -1
     }
  }
}

You return -1在 for 循环内,这意味着如果它在第一个索引上找到匹配项,它将返回0否则它会立即返回-1。你想要移动return -1所以它在 for 循环之后,因此如果找不到匹配项,则返回 -1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

简单的 Javascript for 循环在第一次迭代后停止 的相关文章

随机推荐