jQuery эквивалентный Prototype array.last () - PullRequest
60 голосов
/ 21 июля 2009

Прототип:

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

Что-нибудь похожее на это в jQuery?

Ответы [ 12 ]

132 голосов
/ 21 июля 2009

Почему бы просто не использовать простой JavaScript?

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

Вы также можете написать его как метод, если хотите (при условии, что прототип не был включен на вашу страницу):

Array.prototype.last = function() {return this[this.length-1];}
75 голосов
/ 22 июля 2010

с ломтиком ():

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 для получения дополнительной информации

22 голосов
/ 22 июля 2010

При работе с объектом jQuery, .last() сделает именно это, отфильтровав соответствующие элементы только до последнего в наборе.

Конечно, вы можете обернуть собственный массив с помощью jQuery, что приведет к:

var a = [1,2,3,4];
var lastEl = $(a).last()[0];
11 голосов
/ 17 июня 2013

Почему бы не использовать функцию get?

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

http://api.jquery.com/get/ Подробнее

Edit: Как указывает DelightedD0D, это не правильная функция для использования в соответствии с документами jQuery, но она все равно дает правильные результаты. Я рекомендую использовать ответ Солти, чтобы сохранить правильный код.

2 голосов
/ 12 декабря 2011

Я знаю, что ответ уже дан, но я думаю, что у меня есть другое решение для этого. Вы можете взять массив, перевернуть его и вывести первый элемент массива следующим образом:

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

У меня отлично работает.

2 голосов
/ 17 марта 2011

Если вы используете прототип для таких массивов, как:

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

с использованием forloops сделает это.

var a = [0,1,2];
out --> 0
out --> 1
out --> 2
out --> last
1 голос
/ 06 января 2014

Согласно jsPerf: метод последнего элемента , самый эффективный метод - array[array.length-1]. График отображает количество операций в секунду, а не время на операцию.

Разработчики часто (но неправильно) считают, что выполнение одной операции имеет значение. Это не. Производительность имеет значение только тогда, когда вы делаете много одной и той же операции. В этом случае использование статического значения (length) для доступа к определенному индексу (length-1) является самым быстрым, и оно даже не близко.

1 голос
/ 21 июля 2009

Для массивов вы можете просто получить последнюю позицию элемента с помощью array.length - 1:

var a = [1,2,3,4];

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

В jQuery у вас есть селектор : последний , но это не поможет вам на простых массивах.

0 голосов
/ 15 декабря 2017

Я использую это:

array.reverse()[0]

Вы переворачиваете массив с помощью reverse (), а затем выбираете первый элемент обращенной версии с [0], то есть последний из исходного массива.

Вы можете использовать этот код, если вам все равно, что массив будет, конечно, обращен, потому что он останется таким.

0 голосов
/ 30 ноября 2015

URL: www.mydomain.com/user1/1234

$. Params = window.location.href.split ("/"); $ .params [$ params.length-1.];

Вы можете разделить на основе вашего разделителя строки запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...