相当于原型的jQuery array.last()

原型:

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

在jQuery中有类似的东西吗?

为什么不只是使用简单的JavaScript?

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

你也可以把它写成一个方法,如果你喜欢的话(假设原型没有包含在你的页面中):

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

与切片():

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

用pop();

 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以获取更多信息;

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

当然,你可以用jQuery封装一个本地数组,

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

为什么不使用get函数?

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

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

编辑:正如DelightedD0D所指出的,这不是按照jQuery文档使用的正确函数,但它仍然提供了正确的结果。 我build议使用咸的答案,以保持您的代码正确。

如果你使用数组的原型,如:

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

使用forloops将做到这一点。

 var a = [0,1,2]; out --> 0 out --> 1 out --> 2 out --> last 

我知道答案已经给出,但我想我已经得到了另一个解决scheme。 你可以把数组,反转它,并输出第一个数组项目,如下所示:

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

为我工作得很好。

对于数组,您可以简单地使用array.length - 1检索最后一个元素的位置:

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

在jQuery中你有:最后一个select器,但这不会帮助你在普通数组上。

根据jsPerf:Last item方法 ,最高性能的方法是array[array.length-1] 。 该图显示每秒操作,而不是每个操作的时间。

开发人员认为单个操作的性能是很重要的(但是是错误的)。 它不是。 性能只在你做同样操作的时候很重要。 在这种情况下,使用一个静态值( length )来访问一个特定的索引( length-1 )是最快的,甚至不是很接近。

查看这些testing用例http://jsperf.com/last-item-method最有效的方法是通过;.pop方法(在V8中),但是失去了数组的最后一个元素

SugarJS

这不是jQuery,而是另外一个你可能会发现除了jQuery以外的库:Try SugarJS 。

Sugar是一个使用有用的方法扩展本地对象的Javascript库。 它被devise成直观,不显眼,让你用更less的代码做更多的事情。

有了SugarJS,你可以做到:

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

这意味着,你的例子确实可以开箱即用:

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

更多信息

  • SugarJS主页
  • function概述
  • 所有关于SugarJS的数组

url:www.mydomain.com/user1/1234

$ .params = window.location.href.split(“/”); $ .params [$ params.length-1。];

您可以根据您的查询string分隔符进行拆分