JavaScript:将索引位置返回1而不是0

时间:2018-10-08 09:28:05

标签: javascript arrays indexing position indexof

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

我对此有有效的代码,但是要求我返回“幸运的人在列表中排名第一!” arr = ["lucky"]时。

到目前为止,它返回的是"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 :("
     }
   }
}

2 个答案:

答案 0 :(得分:2)

(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 :(得分:0)

您可以在索引位置添加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));