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

时间:2018-11-09 02:32:59

标签: 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

谢谢。

1 个答案:

答案 0 :(得分:4)

您只需要将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));