Eğer buraya gelmek için geldiysen daha fazla Javascript sanatı var
Kullanılan reduceRight()
, ancak daha kısa başka bir cevap ruhu içinde :
[3, 2, 1, 5].reduceRight(a => a);
Başlangıç değeri girmemeniz durumunda, ilk öğenin ilk öğe olarak seçildiği gerçeğine dayanır ( burada dokümanları kontrol edin ). Geri arama yalnızca ilk değeri döndürmeye devam ettiğinden, son öğe sonunda döndürülecek olan öğe olacaktır.
Bunun Javascript sanatı olarak kabul edilmesi gerektiğini unutmayın ve çoğunlukla O (n) zamanında çalıştığı için değil, aynı zamanda okunabilirliği de bozduğu için bunu yapmayı tavsiye edeceğim.
Ve şimdi ciddi cevap için
Gördüğüm en iyi yol (daha özlü olmasını istediğinizi düşünerek array[array.length - 1]
) şudur:
const last = a => a[a.length - 1];
Sonra sadece işlevi kullanın:
last([3, 2, 1, 5])
İşlev aslında [3, 2, 1, 5]
yukarıda kullanılan gibi anonim bir dizi ile uğraşıyorsanız faydalıdır , aksi takdirde iki kez başlatmanız gerekir, bu da verimsiz ve çirkin olur:
[3, 2, 1, 5][[3, 2, 1, 5].length - 1]
Ugh.
Örneğin, anonim bir diziniz olduğu ve bir değişken tanımlamanız gereken bir durum, ancak last()
bunun yerine şunları kullanabilirsiniz :
last("1.2.3".split("."));
const [lastItem] = arr.slice(-1)