接受一个数组和一个数字的函数,如果在数组中找到,returns 数字的第一个索引

Function that accepts an Array and a Number and returns the first index of the Number if found in the Array

我正在尝试解决以下问题:

创建一个函数,该函数接受一个数组和一个数字以及 returns 存在该值的第一个索引,如果未找到该值,则为 -1。

下面是我的尝试,当 运行 我自己的代码时似乎工作正常,但不被接受为正确的解决方案错误!感谢任何帮助。


indexOf = function (arr, num) {

    var idx = arr.indexOf(num);

    for (i=0; i < arr.lenth; i++);

    if (idx !== -1) {return idx}
    else {return -1}
  }
  console.log(indexOf([25, 33, 45, 33, 23, 20], 33))

我相信你要解决的问题是针对你没有使用内置的 indexOf,否则没有问题可以解决。

我不会向您提供解决方案的代码,而是提供您解决问题应该经历的过程。

  1. 遍历数组,从索引 0 开始到数组末尾结束
  2. 在每次迭代中,将提供的数字与数组中当前索引处的值进行比较
  3. 如果值匹配,只需return那个索引
  4. 如果循环在没有 returning 的情况下完成,可以安全地假设数组中不存在该数字,因此您必须 return -1

希望对您有所帮助。