【问题标题】:How to select the last thing in an array? [duplicate]如何选择数组中的最后一项? [复制]
【发布时间】:2013-12-27 02:32:00
【问题描述】:
var myarray = [];

var result1 = myarray[0];
var result2 = myarray[1];
var result3 ....etc...

选择第一个很容易,因为它只是 0。如何将最后一个放入 var?这似乎是一个简单的问题,但我一定是在谷歌上搜索错误,因为我找不到任何有效的答案。

【问题讨论】:

    标签: javascript jquery arrays


    【解决方案1】:
    var last = myarray[myarray.length - 1];
    

    Documentation

    【讨论】:

    • @KevinB 是的,更好
    • 先检查数组是否为空如何?
    • @RobinSalih 问题是“如何选择最后一件事”。空数组没有“最后一件事”。事实上,实现应该始终检查这一点。
    • 如果数组为空,您将正确地得到未定义。我认为这没有问题。
    【解决方案2】:

    myarray.length 返回数组的长度,因为元素从 0 开始,减去 1 将得到最后一个元素的索引

    var lastresult = myarray[myarray.length - 1];
    

    【讨论】:

      【解决方案3】:

      试试这个:

      var l= myarray[myarray.length - 1];
      

      检查这个MDN

      【讨论】:

        【解决方案4】:
        var lastelement = myarray[myarray.length - 1]
        

        【讨论】:

        【解决方案5】:

        一种方法是做这样的事情

        var lastElement = myArray[myarray.length-1]
        

        不要想太多。数组在 javascript 中的索引可能为 0,但这仅意味着最后一个索引必须是数组的长度 -1。

        【讨论】:

          【解决方案6】:

          就这个:

          var lastResult = myarray[myarray.length - 1];
          

          您可以创建原型以更简单地完成此操作。例如:

          if (!Array.prototype.last){
            Array.prototype.last = function(){
              return this[this.length - 1];
            };
          };
          

          比使用

          myarray.last();
          

          【讨论】:

          【解决方案7】:

          您可以使用数组原型方法.pop() 但这会从数组中删除最后一项

          var lastElement = myarray.pop();
          

          或者将数组包裹在 jq 对象中:

          var lastElement = $(myarray).get(-1);
          

          【讨论】:

          • 鉴于该问题并未表明任何有关更改 myarray 内容的内容,因此此答案确实不正确。
          • 获取(“选择”)不应产生副作用。
          • @admdrew 对不起,我的问题,误读了
          【解决方案8】:

          我可能错了,所以也许其他人可以告诉我我是对还是错,但你不能这样做:

          var last = myArray[-1]
          

          ?

          编辑:我错了。无视我。

          另外,出于好奇,使用起来会不会更快

          var lastelement = myarray[myarray.length - 1];
          

          var lastelement = myarray.reverse[0];
          

          ?

          【讨论】:

          • so perhaps someone else can tell me if I'm right or wrong 当你自己尝试这个时会发生什么? :)
          • 这将返回 undefined,因为 -1 不是 JavaScript 数组的有效索引。
          • 嗯,刚刚测试过了。我得到'未定义'。我真的认为这是可能的。
          • 负索引仅在 jquery 中有效:$(array).get(-1);
          • 是的。我对此做了更多的挖掘。事实证明,负索引可用于将属性分配给数组对象,但它们不会影响长度。这个线程很好地解释了它。 stackoverflow.com/questions/13618571/….
          猜你喜欢
          • 1970-01-01
          • 2018-01-01
          • 2016-01-31
          • 2019-07-29
          • 2021-07-06
          • 1970-01-01
          • 1970-01-01
          • 2019-06-18
          • 1970-01-01
          相关资源
          最近更新 更多