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

เมธอดของ Array Object ใน JavaScript มีอะไรบ้าง

Array Object ใน JavaScript

Array Object ใช้เก็บหลายค่าในตัวแปรเดียว จัดเก็บแบบ Sequential Collection ขนาดคงที่ (แต่ใน JS ขยายได้) ของ Element ชนิดเดียวกัน (แต่ใน JS ใส่ชนิดต่างกันได้)

รายการเมธอด Array สำคัญ

# Method & Description
1concat() - รวม Array หลายตัว คืน Array ใหม่
2every() - ทดสอบว่าทุก Element ผ่านเงื่อนไขหรือไม่ คืน Boolean
3filter() - สร้าง Array ใหม่จาก Element ที่ผ่านเงื่อนไข
4forEach() - วนลูปทำงานแต่ละ Element (ไม่คืนค่า)
5indexOf() - หา Index แรกของค่า คืน -1 ถ้าไม่เจอ
6join() - รวม Element เป็น String คั่นด้วย Separator
7lastIndexOf() - หา Index สุดท้ายของค่า
8map() - แปลงแต่ละ Element ให้เป็นค่าใหม่ คืน Array ใหม่
9pop() - ลบ Element ตัวสุดท้าย คืนค่าที่ลบ
10push() - เพิ่ม Element ต่อท้าย คืน Length ใหม่
11reduce() - สะสมค่าจากซ้ายไปขวา คืนค่าเดียว
12reduceRight() - สะสมค่าจากขวาไปซ้าย
13reverse() - กลับลำดับ Element (Mutate)
14shift() - ลบ Element ตัวแรก คืนค่าที่ลบ
15slice() - ดึง Sub-array (ไม่ Mutate)
16some() - เช็คว่ามี Element ไหนผ่านเงื่อนไขหรือไม่
17sort() - เรียงลำดับ (Mutate, Default: String Unicode)
18splice() - ลบ/แทรก Element ที่ Index ใดๆ (Mutate)
19toString() - แปลงเป็น String (คั่นด้วย Comma)
20unshift() - เพิ่ม Element ที่หน้า คืน Length ใหม่
21includes() (ES7) - เช็คว่ามีค่านี้หรือไม่
22find()/findIndex() (ES6) - หา Element/Index แรกที่ผ่านเงื่อนไข
23flat()/flatMap() (ES2019) - รatakan Nested Array
24at() (ES2022) - เข้าถึง Index รองรับ Negative

จัดกลุ่มตามลักษณะการทำงาน

  • Mutate Original (เปลี่ยน Array ต้นฉบับ): push, pop, shift, unshift, splice, sort, reverse, fill, copyWithin
  • Immutable (คืน Array ใหม่): concat, slice, map, filter, flat, flatMap
  • Iteration (วนลูป): forEach, map, filter, reduce, some, every, find
  • Search/Query: indexOf, lastIndexOf, includes, find, findIndex
  • Transformation: join, toString, map, flatMap

Property สำคัญ

  • length - จำนวน Element (อ่าน/เขียนได้)

สรุป

Array Methods มีมากมาย จัดกลุ่มเป็น Mutate vs Immutable และ Iteration vs Query จะช่วยจำและเลือกใช้ได้ง่ายขึ้น ES6+ เพิ่มเมธอดทันสมัยมากมาย (find, includes, flat, at)