代码之家  ›  专栏  ›  技术社区  ›  Pau

jQuery相当于原型数组。last()

  •  60
  • Pau  · 技术社区  · 15 年前

    原型:

    var array = [1,2,3,4];
    var lastEl = array.last();
    

    在jQuery中有类似的东西吗?

    12 回复  |  直到 11 年前
        1
  •  147
  •   Salty    15 年前

    为什么不直接使用简单的javascript呢?

    var array=[1,2,3,4];
    var lastEl = array[array.length-1];
    

    Array.prototype.last = function() {return this[this.length-1];}
    
        2
  •  83
  •   guybrush    13 年前

    使用slice():

    var a = [1,2,3,4];
    var lastEl = a.slice(-1)[0]; // 4
    // a is still [1,2,3,4]
    

    var a = [1,2,3,4];
    var lastEl = a.pop(); // 4
    // a is now [1,2,3]
    

    看见 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array 更多信息

        3
  •  22
  •   gnarf    14 年前

    处理jQuery对象时, .last() 要做到这一点,只需将匹配的元素过滤到集合中的最后一个。

    当然,您可以使用jQuery包装本机数组,从而实现以下目的:

    var a = [1,2,3,4];
    var lastEl = $(a).last()[0];
    
        4
  •  12
  •   Muhan Alim    8 年前

    为什么不使用get函数呢?

    var a = [1,2,3,4];
    var last = $(a).get(-1);
    

    http://api.jquery.com/get/ 更多信息

    正如ElightedD0D所指出的,根据jQuery的文档,这不是正确的函数,但它仍然提供正确的结果。我建议使用Salty的答案来保持代码的正确性。

        5
  •  2
  •   Christian C. Salvadó    15 年前

    对于数组,只需使用 array.length - 1 :

    var a = [1,2,3,4];
    
    var lastEl = a[a.length-1]; // 4
    

    在jQuery中,您有 :last

        6
  •  2
  •   martin    14 年前

    如果在阵列上使用原型,如:

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

    使用forloops可以做到这一点。

    var a = [0,1,2];
    out --> 0
    out --> 1
    out --> 2
    out --> last
    
        7
  •  2
  •   Manticore    13 年前

    我知道答案已经给出了,但我想我有另一个解决方案。 您可以获取数组,将其反转,然后输出第一个数组项,如下所示:

    var a = [1,2,3,4];
    var lastItem = a.reverse()[0];

        8
  •  1
  •   Jordan Gray Michael Blackburn    11 年前

    根据 jsPerf: Last item method ,最有效的方法是 array[array.length-1] . 图表显示的是每秒的操作数,而不是每次操作的时间。

    对于开发人员来说,认为单个操作的性能很重要是很常见的(但这是错误的)。事实并非如此。只有在执行大量相同操作时,性能才起作用。在这种情况下,使用静态值( length )访问特定索引的步骤( length-1 )是最快的,而且还差一点。

        9
  •  0
  •   mtdb    11 年前

    看看这些测试用例 http://jsperf.com/last-item-method 最有效的方法是through.pop方法(在V8中),但会丢失数组的最后一个元素

        10
  •  0
  •   fiedl    10 年前

    它不是jQuery,而是除了jQuery之外,您可能会发现另一个有用的库:Try SugarJS .

    Sugar是一个Javascript库,它使用有用的方法扩展本机对象。它被设计为直观、不引人注目,让您用更少的代码做更多的事情。

    使用SugarJS,您可以:

    [1,2,3,4].last()    //  => 4
    

    这意味着,您的示例是开箱即用的:

    var array = [1,2,3,4];
    var lastEl = array.last();    //  => 4
    

    更多信息

        11
  •  0
  •   Bharat Parmar    9 年前

    网址:www.mydomain.com/user1/1234

    $.params=window.location.href.split(“/”);

    可以根据查询字符串分隔符进行拆分

        12
  •  0
  •   SevenJay    7 年前

    我用这个:

    array.reverse()[0]

    使用reverse()反转数组,然后使用[0]拾取反转版本的第一项,即原始数组的最后一项。

    当然,如果您不关心数组是否反转,那么可以使用此代码,因为它将保持反转。

        13
  •  0
  •   pankaj    3 年前

    你可以用这个 Arr.slice(-1)[0] .

    Arr=[1,2,3,4,5,6,7]

    -1 表示您正在查找数组的最后一个索引。 Arr.slice(-1)[0] 然后您将得到以下结果: 7