ใช้เมธอด slice(-1)[0]
วิธีที่สะดวกและไม่ Mutate Array คือใช้ slice(-1) ซึ่งคืนค่า Array ที่มีแค่ Element ตัวสุดท้าย แล้วค่อยเข้าถึง Index 0
ตัวอย่างโค้ด
<html>
<body>
<script>
var array = [30, 40, 50, 60];
document.write(array.slice(-1)[0]); // 60
</script>
</body>
</html>
วิธีอื่นๆ
1. ใช้ Index โดยตรง (ต้องรู้ Length)
var last = array[array.length - 1]; // 60 - เร็วที่สุด
2. ใช้ pop() (Mutate Original - ลบ Element ตัวสุดท้าย)
var last = array.pop(); // 60 แต่ array เหลือ [30, 40, 50]
3. ใช้ at() Method (ES2022+) - แนะนำ
var last = array.at(-1); // 60 - อ่านง่าย รองรับ Negative Index
4. ใช้ Destructuring (ES6+)
var [...rest, last] = array; // last = 60
ตารางเปรียบเทียบ
| วิธี | Mutate? | รองรับ Empty Array | Browser Support |
|---|---|---|---|
array[length-1] | ไม่ | undefined (ไม่ Error) | All |
slice(-1)[0] | ไม่ | undefined | All |
pop() | ใช่ (ลบ) | undefined | All |
at(-1) | ไม่ | undefined | ES2022+ |
ข้อควรระวัง
- ถ้า Array ว่าง
[]ทุกวิธีจะคืนundefinedยกเว้นpop() ก็คืนundefinedแต่ Array ยังคงว่าง slice(-1)สร้าง Array ใหม่ทุกครั้ง (มี Overhead เล็กน้อย)at(-1)เป็นวิธีที่ทันสมัย อ่านง่าย และรองรับ Negative Index ครบถ้วน
สรุป
แนะนำใช้ array.at(-1) (ES2022) เพื่อความอ่านง่ายและความถูกต้อง หรือ array[array.length - 1] สำหรับ Performance สูงสุดและ Browser Support กว้างที่สุด