javascript - 尝试在 JavaScript 中重新创建 indexOf 方法

标签 javascript indexof recreate

我正在尝试在 JavaScript 中重新创建 indexOf 数组方法。对于我的一生,我无法弄清楚为什么以下内容不起作用:

function indexOf(array, value) {
  for (let i = 0; i < array.length; i++) {
    if (array[i] === value) {
      return i;
    }
    return -1;
  }
}

例如:

indexOf([1,2,1,3], 2) // should return 1

提前致谢。

最佳答案

您只需将 return -1 移到 for 循环之外。

function indexOf(array, value) {
    for (let i = 0; i < array.length; i++) {
        if (array[i] === value) {
            return i;
        }
    }

    return -1;
}

console.log(indexOf([1, 2, 1, 3], 2));
console.log(indexOf([1, 2, 1, 3], 4));

关于javascript - 尝试在 JavaScript 中重新创建 indexOf 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53219027/

相关文章:

javascript - 如何在 html 文件中创建交互式标签?

javascript - 如何将ISO8601 json转换为正常日期格式

javascript - 如果 JavaScript 数组包含元素,则返回 true

mysql - 如何获取将在 PHPMyAdmin 中重新创建 sql 表的查询

android - 无法重新创建丢失的调试 keystore ?

javascript - 意外的未捕获类型错误

javascript - 找不到模块 : Error: Can't resolve 'font-awesome'

javascript - 如何在javascript中提取子字符串

javascript - 可以在字符串上使用 for in 循环吗?

重新创建网站时的 css div 放置