给出一个字符串数组,如果字符串"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 :("
}
}
}
答案 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));