เมธอดของ Array ใน JavaScript - ตอนที่ 1

Array คือออบเจกต์ชนิดพิเศษใน JavaScript ซึ่งใช้สำหรับเก็บค่าหลายๆ ค่าไว้ในตัวแปรเดียว

แทนที่จะต้องสร้างตัวแปรแยกกันสำหรับนักเรียนแต่ละคน: let student1 = "John"; let student2 = "David";

ให้ใช้ Array แทน: let students = ["John", "David", "Alex"];

แต่ละค่าเรียกว่า element โดยที่ทุก element จะมี index เริ่มต้นจาก 0

• คุณสมบัติ length คุณสมบัติ length จะบอกจำนวน element ทั้งหมดที่มี มันคือ property ไม่ใช่ function ดังนั้นห้ามใช้เครื่องหมายวงเล็บ Correct: arr.length Wrong: arr.length()

คุณสามารถเปลี่ยนค่า length เพื่อปรับขนาดของ array ได้

  • การลดค่า length จะเป็นการลบ element ออกจากส่วนท้าย
  • การเพิ่มค่า length จะเป็นการสร้างช่องว่าง (empty slots) ขึ้นมา

• toString() และ join() ใช้ toString() เพื่อเปลี่ยน array ให้เป็น string ที่คั่นด้วยเครื่องหมายจุลภาค (comma) ใช้ join() เมื่อคุณต้องการตัวคั่นแบบกำหนดเอง เช่น เครื่องหมายยัติภังค์ (-) หรือ pipe (|)

• เมธอด at() เมธอดนี้จะคืนค่า element ณ index ที่ระบุ ต่างจากการใช้ bracket notation ตรงที่มันรองรับ index แบบติดลบด้วย arr.at(-1) จะคืนค่า element ตัวสุดท้ายให้คุณ

• เมธอด pop() เมธอดนี้จะลบ element ตัวสุดท้ายออกจาก array มันจะแก้ไข array ต้นฉบับและคืนค่า item ที่ถูกลบออกไป

• Array.isArray() ใช้เพื่อตรวจสอบว่าค่าที่ระบุเป็น array หรือไม่ ตัวดำเนินการ typeof จะคืนค่าเป็น "object" สำหรับ array ซึ่งไม่ค่อยมีประโยชน์นัก ควรตรวจสอบความถูกต้องของข้อมูลด้วย Array.isArray() เสมอก่อนที่จะทำการ loop

• delete เทียบกับ concat() ตัวดำเนินการ delete จะลบ element ออกไปแต่จะทิ้งช่องว่างไว้ และไม่ทำให้ค่า length เปลี่ยนแปลง เมธอด concat() ใช้สำหรับรวม array เข้าด้วยกัน โดยจะไม่แก้ไข array ต้นฉบับ แต่จะคืนค่าเป็น array ใหม่แทน

• copyWithin() เมธอดนี้จะคัดลอกบางส่วนของ array ไปยังตำแหน่งใหม่ภายใน array เดิม และจะเขียนทับ element ที่มีอยู่เดิม

สรุปเมธอดต่างๆ:

  • length: คืนค่าขนาดของ array
  • toString(): แปลงเป็น string ที่คั่นด้วย comma
  • join(separator): แปลงเป็น string ด้วยตัวคั่นที่กำหนดเอง
  • at(index): ดึง element (รองรับ index ติดลบ)
  • pop(): ลบ element ตัวสุดท้าย
  • isArray(): ตรวจสอบว่าเป็น array หรือไม่
  • concat(): รวม array เข้าด้วยกันเป็น array ใหม่
  • copyWithin(): คัดลอก element ภายใน array เดิม

Source: https://www.w3schools.com/js/js_array_methods.asp Complete guide: https://dev.to/annapoo/javascript-arrays-methods-part-1-kb7