JavaScript: вернуть позицию индекса как 1 вместо 0 - PullRequest
0 голосов
/ 08 октября 2018

Учитывая массив строк, мне поручено вернуть строку с "The lucky person is number n in the list!", если строка "lucky" появляется в массиве.

У меня есть рабочий код для этого, однако он просит меня вернуться "Счастливчик номер 1 в списке!"когда 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 голосов
/ 08 октября 2018

Вы можете добавить 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));
0 голосов
/ 08 октября 2018

(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 :("
}
...