Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีดึง Element ตัวสุดท้ายของ Array ใน JavaScript

ใช้เมธอด 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]ไม่undefinedAll
pop()ใช่ (ลบ)undefinedAll
at(-1)ไม่undefinedES2022+

ข้อควรระวัง

  • ถ้า Array ว่าง [] ทุกวิธีจะคืน undefined ยกเว้น pop() ก็คืน undefined แต่ Array ยังคงว่าง
  • slice(-1) สร้าง Array ใหม่ทุกครั้ง (มี Overhead เล็กน้อย)
  • at(-1) เป็นวิธีที่ทันสมัย อ่านง่าย และรองรับ Negative Index ครบถ้วน

สรุป

แนะนำใช้ array.at(-1) (ES2022) เพื่อความอ่านง่ายและความถูกต้อง หรือ array[array.length - 1] สำหรับ Performance สูงสุดและ Browser Support กว้างที่สุด