我正在尝试遵循以下说明:
“编写一个名为indexOf的函数,它接受一个数组和一个数字。
该函数应返回该值存在的第一个索引,如果未找到该值,则返回 -1。
不要使用内置的 Array.indexOf() 函数!”
这是我所拥有的:
function indexOf(arr, number) {
var panda = arr.indexOf(number) || -1;
if(typeof(arr) == "object"){
return arr.indexOf(number);
} else {
return -1;
}
}
console.log(
indexOf([1, 2, 3, 4], 7),
indexOf([1, 2, 3, 4], 3)
);
我正在解决 repl.it 上的一些问题,因此控制台中的输出是正确的,但我仍然无法通过 repl.it 上的测试用例。有人可以帮助我解决我做错的事情吗?我已经用几种不同的方法来解决这个问题,但我不确定使用 typeof 是评估给定数字是否确实存在于数组中的最佳方法,但同时又对如何评估它是否存在感到困惑不使用 Array.indexOf 函数。
最佳答案
您不能使用 .indexOf()
,所以我假设您可以使用 .findIndex()
?
function indexOf(arr, number) {
return arr.findIndex(n => n === number);
}
console.log(
indexOf([1, 2, 3, 4], 7),
indexOf([1, 2, 3, 4], 3)
);
关于javascript - 找到值存在的第一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513503/