【问题标题】:JavaScript: Return index position as 1 instead of 0JavaScript:将索引位置返回为 1 而不是 0
【发布时间】:2018-10-08 09:28:04
【问题描述】:

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

我有这方面的工作代码,但它要求我返回“幸运的人是列表中的第一名!”当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 :("
     }
   }
}

【问题讨论】:

    标签: javascript arrays indexing position indexof


    【解决方案1】:

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

    【讨论】:

    • 我也建议这样做。把事情简单化。如果您只是检查特定的子字符串,则无需遍历数组。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      相关资源
      最近更新 更多