JavaScript: Return 索引位置为 1 而不是 0

JavaScript: Return index position as 1 instead of 0

给定一个字符串数组,如果字符串 "lucky" 出现在数组中,我的任务是 return 使用 "The lucky person is number n in the list!" 处理一个字符串。

我有这方面的工作代码,但是当 arr = ["lucky"] 时它要求我 return "The lucky person is number 1 in the list!"。

到目前为止,这是 returning "person is number 0",因为它是索引位置 0,那么我如何更改代码以使该位置计数为 1?谢谢!

function findLuckyPerson(arr) {
   for (var i = 0; i < arr.length; i++) {
     if (arr[i] === 'lucky') {
       return "The lucky person is number " + arr.indexOf("lucky", 0) + " in the list!";
     } else {
       return "There is no lucky person in the list :("
     }
   }
}

(i + 1) 而不是 arr.indexOf("lucky", 0) 应该可以解决问题。

更简洁,完全摆脱循环

function findLuckyPerson(arr) {
   var i = arr.indexOf("lucky");
   if (i >= 0)
       return "The lucky person is number " + (i + 1) + " in the list!";
   else
       return "There is no lucky person in the list :("
}

您可以在索引位置加1,如下所示:

var arr=['lucky','unlucky'];
function findLuckyPerson(arr) {
   for (var i = 0; i < arr.length; i++) {
     if (arr[i] === 'lucky') {
       return "The lucky person is number " + (i+1) + " in the list!";
     } else {
       return "There is no lucky person in the list :("
     }
   }
}
console.log(findLuckyPerson(arr));