原型:
var array = [1,2,3,4];
var lastEl = array.last();
有什么与此类似的jQuery?
Answers:
为什么不只使用简单的javascript?
var array=[1,2,3,4];
var lastEl = array[array.length-1];
如果愿意,您也可以将其编写为方法(假设页面上未包含原型):
Array.prototype.last = function() {return this[this.length-1];}
array[-1]
undefined。这与Prototype的行为相同:prototypejs.org/api/array/last
与slice():
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
.slice().pop()复制数组并从副本中弹出一个元素呢?
.slice()可能比仅复制最后一个元素更昂贵.slice(-1)
为什么不使用get函数?
var a = [1,2,3,4];
var last = $(a).get(-1);
http://api.jquery.com/get/更多信息
编辑: 正如DelightedD0D指出的那样,这不是根据jQuery文档使用的正确函数,但它仍然提供正确的结果。我建议使用Salty的答案来保持您的代码正确。
.get() - Retrieve the DOM elements matched by the jQuery object.。不能在这样的数组上使用它。
对于数组,您可以使用以下命令简单地检索最后一个元素的位置array.length - 1:
var a = [1,2,3,4];
var lastEl = a[a.length-1]; // 4
在jQuery中,您具有:last选择器,但这对纯数组无济于事。
如果您在数组上使用原型,例如:
Array.prototype.last = function() {return this[this.length-1];}
使用forloops可以做到这一点。
var a = [0,1,2];
out --> 0
out --> 1
out --> 2
out --> last
我知道答案已经给出,但是我想我已经找到了另一种解决方案。您可以采用数组,将其反转并输出第一个数组项,如下所示:
var a = [1,2,3,4]; var lastItem = a.reverse()[0];
对我来说很好。
根据jsPerf:最后一项方法,性能最高的方法是array[array.length-1]。该图显示的是每秒的操作数,而不是每个操作的时间。
对于开发人员来说,通常认为单个操作的性能很重要(但这是错误的)。它不是。仅当您执行相同操作的很多时,性能才重要。在这种情况下,使用静态值(length)访问特定索引(length-1)最快,而且距离还很近。
查看这些测试用例http://jsperf.com/last-item-method 最有效的方法是通过.pop方法(在V8中),但是会丢失数组的最后一个元素
网址:www.mydomain.com/user1/1234
$ .params = window.location.href.split(“ /”); $ .params [$。params.length-1];
您可以根据查询字符串分隔符进行拆分
我用这个:
array.reverse()[0]
使用reverse()反转数组,然后使用[0]选择反转版本的第一项,即原始数组的最后一项。
如果您不在乎该数组是否会反向,则可以使用此代码,因为它会保持不变。