我正在尝试在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
谢谢。
答案 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));