相当于原型的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分隔符进行拆分