Javascript 我试图编写一个js函数,返回字符串数组的索引,如果字符串;“钥匙”;在数组中

Javascript 我试图编写一个js函数,返回字符串数组的索引,如果字符串;“钥匙”;在数组中,javascript,Javascript,如果成功,我的函数应该返回“keys”所在的索引,如果“keys”不在数组中,则返回-1。但是我得到-1,我不知道我的错误在哪里 const findMyKeys = arr => { for (let i = 0; i < arr.length; i++) { if (arr[i] === 'keys') { return i; } else { return -1; } } } const randomStuff = ['credit card',

如果成功,我的函数应该返回“keys”所在的索引,如果“keys”不在数组中,则返回-1。但是我得到-1,我不知道我的错误在哪里

const findMyKeys = arr => { 
for (let i = 0; i < arr.length; i++) {
  if (arr[i] === 'keys') {
    return i;
  } else {
    return -1;
  }
}
}

const randomStuff = ['credit card', 'screwdriver', 'keys']
const findMyKeys=arr=>{
for(设i=0;i
仅当for循环的
完成且未找到字符串时,才应返回-1:

const findMyKeys=(arr)=>{
for(设i=0;ilog(findMyKeys(randomStuff))
您可以通过使用
findIndex
来实现

const findMyKeys=arr=>arr.findIndex(item=>item===='keys');
log(findMyKeys(['creditcard','helloworld','keys'));
log(findMyKeys(['creditcard','helloworld'])您可以使用此方法:

const findMyKeys=arr=>{
返回arr.indexOf(“键”)
}
const randomStuff=[“信用卡”、“螺丝刀”、“钥匙”]
const result=findMyKeys(随机数)

log(result)
您可以尝试数组findIndex方法。 ['a','b','c'].findIndex((项目,索引)=>item=='c')

方法返回数组中满足提供的测试函数的第一个元素的索引。否则,它返回-1,表示没有元素通过测试。

只是一个旁注。在ES6中,我通常将函数参数用括号括起来,如
constfindmykeys=(arr)=>…