Prototyp:
var array = [1,2,3,4];
var lastEl = array.last();
Ähnliches in jQuery?
Antworten:
Warum nicht einfach einfaches Javascript verwenden?
var array=[1,2,3,4];
var lastEl = array[array.length-1];
Sie können es auch als Methode schreiben, wenn Sie möchten (vorausgesetzt, der Prototyp wurde nicht auf Ihrer Seite aufgenommen):
Array.prototype.last = function() {return this[this.length-1];}
array[-1]
mit Slice ():
var a = [1,2,3,4];
var lastEl = a.slice(-1)[0]; // 4
// a is still [1,2,3,4]
mit pop ();
var a = [1,2,3,4];
var lastEl = a.pop(); // 4
// a is now [1,2,3]
Weitere Informationen finden Sie unter https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array
.slice().pop()das Array kopieren und ein Element von der Kopie entfernen?
.slice()teurer sein kann als das Kopieren nur des letzten Elements mit.slice(-1)
Warum nicht die Funktion get verwenden?
var a = [1,2,3,4];
var last = $(a).get(-1);
http://api.jquery.com/get/ Weitere Informationen
Bearbeiten: Wie von DelightedD0D hervorgehoben, ist dies nicht die richtige Funktion, die gemäß den Dokumenten von jQuery verwendet werden kann, liefert aber dennoch die richtigen Ergebnisse. Ich empfehle, die Antwort von Salty zu verwenden, um Ihren Code korrekt zu halten.
.get() - Retrieve the DOM elements matched by the jQuery object.. Dies ist nicht für ein Array wie dieses vorgesehen.
Für Arrays können Sie einfach die letzte Elementposition abrufen mit array.length - 1:
var a = [1,2,3,4];
var lastEl = a[a.length-1]; // 4
In jQuery haben Sie den Selektor : last , aber dies hilft Ihnen bei einfachen Arrays nicht weiter.
Ich weiß, dass die Antwort bereits gegeben ist, aber ich denke, ich habe eine andere Lösung dafür. Sie können das Array nehmen, umkehren und das erste Array-Element wie folgt ausgeben:
var a = [1,2,3,4]; var lastItem = a.reverse () [0];
Funktioniert gut für mich.
Laut jsPerf: Last item-Methode ist die Methode mit der höchsten Leistung array[array.length-1]. Das Diagramm zeigt Operationen pro Sekunde an, nicht die Zeit pro Operation.
Entwickler denken häufig (aber falsch), dass die Leistung eines einzelnen Vorgangs von Bedeutung ist. Es tut nicht. Leistung ist nur wichtig, wenn Sie VIELE gleiche Operationen ausführen. In diesem Fall ist die Verwendung eines statischen Werts ( length) für den Zugriff auf einen bestimmten Index ( length-1) am schnellsten und nicht einmal in der Nähe.
Siehe diese Testfälle http://jsperf.com/last-item-method Der effektivste Weg ist die .pop-Methode (in V8), verliert jedoch das letzte Element des Arrays
Es ist nicht jQuery, sondern eine andere Bibliothek, die Sie möglicherweise zusätzlich zu jQuery nützlich finden: Probieren Sie SugarJS aus .
Sugar ist eine Javascript-Bibliothek, die native Objekte mit hilfreichen Methoden erweitert. Es ist so konzipiert, dass es intuitiv und unauffällig ist und Sie mit weniger Code mehr erreichen können.
Mit SugarJS können Sie Folgendes tun:
[1,2,3,4].last() // => 4
Das heißt, Ihr Beispiel funktioniert sofort:
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];
Sie können basierend auf Ihrem Abfragezeichenfolgen-Trennzeichen aufteilen
Ich benutze das:
array.reverse()[0]
Sie kehren das Array mit reverse () um und wählen dann das erste Element der umgekehrten Version mit [0] aus, dh das letzte Element des ursprünglichen Arrays.
Sie können diesen Code verwenden, wenn Sie sich nicht darum kümmern, dass das Array natürlich umgekehrt wird, da dies so bleibt.