【问题标题】:Javascript: Function returning last element of arrayJavascript:函数返回数组的最后一个元素
【发布时间】:2021-03-11 11:00:53
【问题描述】:

我正在参加 Colt Steele 的 Udemy 课程,标题为:“2020 年 Web 开发人员训练营”。然而,我陷入了某种编码练习。练习目标如下: 请编写一个名为 lastElement 的函数,它接受单个数组参数。该函数应返回数组的最后一个元素(不删除元素)。如果数组为空,则函数应返回 null。

我已尝试提出解决方案,但似乎无法解决。我目前最好的猜测是:

function lastElement (num) {
if (num !== undefined){
    return num[num.length -1];
} return null;

}

我很想知道为什么我编写的函数不起作用,以及一些关于我应该如何重新考虑该函数以使其起作用的指针。

最好的问候安德烈亚斯

【问题讨论】:

    标签: javascript


    【解决方案1】:

    你可以使用这个:

    function lastElement(arr) {
    if(arr.length>0){
       return arr[arr.length-1];
    } else{
       return null;
    }
    

    【讨论】:

      【解决方案2】:

      问题在于truthyfalsy的值不同: 空数组为真但 undefined 为假,所以 []!==undefined 为真,但是:

      num[num.length -1]; 
      

      意思是:

      num[-1]; 
      

      这是未定义的。

      【讨论】:

        【解决方案3】:

        将您的条件更改为:

        if(num && num.length>0)

        此外,如果他们决定输入一个不是数组的参数,

        if(num && Array.isArray(num) && num.length>0)

        【讨论】:

          【解决方案4】:

          改成这个条件。

          if (num && num.length>0) 
          

          【讨论】:

          • if(num) 检查所有“假”值。检查“num”是否存在。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多