Hier ist mehr Javascript-Kunst, wenn Sie hierher gekommen sind, um danach zu suchen
Im Geiste einer anderen Antwort, die verwendet wurde reduceRight()
, aber kürzer:
[3, 2, 1, 5].reduceRight(a => a);
Dies hängt davon ab, dass für den Fall, dass Sie keinen Anfangswert angeben, das allerletzte Element als Anfangswert ausgewählt wird (siehe Dokumente hier ). Da der Rückruf immer wieder den Anfangswert zurückgibt, wird am Ende das letzte Element zurückgegeben.
Beachten Sie, dass dies als Javascript-Kunst betrachtet werden sollte und keineswegs die Art und Weise ist, wie ich es empfehlen würde, hauptsächlich, weil es in O (n) -Zeit ausgeführt wird, aber auch, weil es die Lesbarkeit beeinträchtigt.
Und jetzt zur ernsthaften Antwort
Der beste Weg, den ich sehe (wenn man bedenkt, dass Sie es prägnanter wollen als array[array.length - 1]
), ist folgender:
const last = a => a[a.length - 1];
Dann nutzen Sie einfach die Funktion:
last([3, 2, 1, 5])
Die Funktion ist tatsächlich nützlich, wenn Sie mit einem anonymen Array wie dem [3, 2, 1, 5]
oben verwendeten arbeiten, andernfalls müssten Sie es zweimal instanziieren, was ineffizient und hässlich wäre:
[3, 2, 1, 5][[3, 2, 1, 5].length - 1]
Pfui.
In diesem Fall haben Sie beispielsweise ein anonymes Array und müssten eine Variable definieren. Sie können jedoch Folgendes verwenden last()
:
last("1.2.3".split("."));
const [lastItem] = arr.slice(-1)