Prototyp:
var array = [1,2,3,4];
var lastEl = array.last();
Ähnliches in jQuery?
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]
undefined
. Das ist das gleiche wie das Verhalten von Prototypemit 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
quelle
.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)
Wenn Sie mit einem jQuery-Objekt
.last()
arbeiten, filtern Sie die übereinstimmenden Elemente nur auf das letzte Element in der Gruppe.Natürlich können Sie ein natives Array mit jQuery umschließen, was dazu führt:
var a = [1,2,3,4]; var lastEl = $(a).last()[0];
quelle
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.
quelle
.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.
quelle
Wenn Sie den Prototyp für Arrays verwenden wie:
Array.prototype.last = function() {return this[this.length-1];}
Die Verwendung von Forloops wird dies tun.
var a = [0,1,2]; out --> 0 out --> 1 out --> 2 out --> last
quelle
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:
Funktioniert gut für mich.
quelle
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.quelle
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
quelle
SugarJS
Es ist nicht jQuery, sondern eine andere Bibliothek, die Sie möglicherweise zusätzlich zu jQuery nützlich finden: Probieren Sie SugarJS aus .
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
Mehr Info
quelle
URL: www.mydomain.com/user1/1234
$ .params = window.location.href.split ("/"); $ .params [$. params.length-1];
Sie können basierend auf Ihrem Abfragezeichenfolgen-Trennzeichen aufteilen
quelle
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.
quelle