Prototype:
var array = [1,2,3,4];
var lastEl = array.last();
Что-нибудь подобное в jQuery?
Prototype:
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];}
с 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 для получения дополнительной информации
Когда вы работаете с объектом 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/ Подробнее
Edit: Как отмечал DelightedD0D, это не правильная функция для использования в соответствии с документами jQuery, но она по-прежнему обеспечивает правильные результаты. Я рекомендую использовать ответ Salty, чтобы ваш код был правильным.
Если вы используете прототип на массивах вроде:
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];
Прекрасно работает для меня.
Для массивов вы можете просто получить последнюю позицию элемента с помощью array.length - 1
:
var a = [1,2,3,4];
var lastEl = a[a.length-1]; // 4
В jQuery у вас есть : last селектор, но это не поможет вам на простых массивах.
Согласно jsPerf: метод последнего элемента, наиболее эффективным методом является array[array.length-1]
. График отображает операции в секунду, а не время на операцию.
Общепринято (но неправильно) для разработчиков думать, что производительность одной операции имеет значение. Это не. Производительность имеет значение только тогда, когда вы выполняете LOTS одной и той же операции. В этом случае использование статического значения (length
) для доступа к определенному индексу (length-1
) выполняется быстрее, и оно даже не закрывается.
Смотрите эти тестовые примеры http://jsperf.com/last-item-method Наиболее эффективным способом является метод .pop(в V8), но теряет последний элемент массива
Это не jQuery, а другая библиотека, которую вы можете найти полезной в дополнение к jQuery: Try SugarJS.
Sugar - это библиотека Javascript, которая расширяет родные объекты с помощью полезных методов. Он предназначен для интуитивного, ненавязчивого и позволяет вам делать больше с меньшим количеством кода.
С SugarJS вы можете:
[1,2,3,4].last() // => 4
Это означает, что ваш пример работает из коробки:
var array = [1,2,3,4];
var lastEl = array.last(); // => 4
url: www.mydomain.com/user1/1234
$. params = window.location.href.split( "/" ); $.params [$ params.length-1.];
Вы можете разделить на основе разделителя строки запроса
Я использую это:
array.reverse()[0]
Вы меняете массив с помощью reverse(), а затем выбираете первый элемент обратной версии с помощью [0], который является последним из исходного массива.
Вы можете использовать этот код, если вам все равно, что массив обратный, конечно, потому что он останется таким.