Подтвердить что ты не робот

JQuery эквивалент Prototype array.last()

Prototype:

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

Что-нибудь подобное в jQuery?

4b9b3361

Ответ 1

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

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

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

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

Ответ 5

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

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

используя forloops, сделает это.

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

Ответ 6

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

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

Прекрасно работает для меня.

Ответ 7

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

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

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

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

Ответ 8

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

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

Ответ 9

Смотрите эти тестовые примеры http://jsperf.com/last-item-method Наиболее эффективным способом является метод .pop(в V8), но теряет последний элемент массива

Ответ 10

SugarJS

Это не jQuery, а другая библиотека, которую вы можете найти полезной в дополнение к jQuery: Try SugarJS.

Sugar - это библиотека Javascript, которая расширяет родные объекты с помощью полезных методов. Он предназначен для интуитивного, ненавязчивого и позволяет вам делать больше с меньшим количеством кода.

С SugarJS вы можете:

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

Это означает, что ваш пример работает из коробки:

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

Подробнее

Ответ 11

url: www.mydomain.com/user1/1234

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

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

Ответ 12

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

array.reverse()[0]

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

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