首页 > 解决方案 > 创建 indexOf 函数

问题描述

我正在尝试创建 indexOf 函数,但它不起作用。我是一个菜鸟程序员,几天前开始学习 Javascript。

我尝试使用循环,但我不认为循环的概念对我来说很清楚。任何人都可以检查下面的代码并帮助我理解我做错了什么以及循环的正确用法吗?

function index(arr, srchvlu) {
  for (srchvlu = 0; srchvlu < arr.length; srchvlu = srchvlu + 1) {
    result = srchvlu;
  }
  return result;
}

var ans = (index("hello", "l"));

console.log(ans);

我希望输出为 2,但实际输出为 4。

标签: javascript

解决方案


您需要测试值的相等性并相应地从函数返回值

  • 循环遍历arr,检查当前索引的值是否与搜索值相同返回当前索引,
  • 如果没有一个值与 srchvlu 匹配,则返回-1

function index(arr, srchvlu) {
  for (let i = 0; i < arr.length; i++) {
    if(arr[i] === srchvlu) {  //checks current value is equal to srchvlu
      return i
    }
  }
  return -1
}

var ans = index("hello", "l");

console.log(ans);


推荐阅读