Array methods 6 ตัวที่ใช้ทุกวัน

map, filter, reduce, find, some และ at — ใช้ตัวไหนเมื่อไหร่ และเมื่อไหร่ควรกลับไปใช้ for loop ธรรมดา

Array methods ทำให้โค้ดสั้นและอ่านง่ายขึ้นมาก แต่ถ้าเลือกผิดตัว โค้ดจะทำงานเกินจำเป็นหรืออ่านยากกว่าเดิม บทความนี้รวม 6 ตัวที่ใช้บ่อยที่สุด พร้อมกฎง่ายๆ ในการเลือก

map — แปลงทุกตัว

ใช้เมื่ออยากได้ array ใหม่ที่ จำนวนเท่าเดิม แต่หน้าตาเปลี่ยนไป

const prices = [100, 250, 80];
const withVat = prices.map(p => p * 1.07);
// [107, 267.5, 85.6]

filter — เลือกบางตัว

ใช้เมื่ออยากได้ array ใหม่ที่มีเฉพาะสมาชิกที่ตรงเงื่อนไข

const users = [{ name: "ploy", active: true }, { name: "nut", active: false }];
const active = users.filter(u => u.active);

find และ some — หาแค่ตัวเดียว

ถ้าต้องการ ตัวแรก ที่ตรงเงื่อนไข ใช้ find ถ้าแค่อยากรู้ว่า มีไหม ใช้ some ทั้งคู่หยุดทันทีที่เจอ จึงเร็วกว่า filter ที่ต้องวนครบทุกตัว

users.find(u => u.name === "ploy"); // { name: "ploy", active: true }
users.some(u => !u.active);         // true

reduce — รวมเป็นค่าเดียว

ใช้รวมทั้ง array ให้เหลือค่าเดียว เช่น ผลรวม หรือ object สรุป

const total = prices.reduce((sum, p) => sum + p, 0); // 430
อย่าใช้ reduce ทุกเรื่องถ้า reduce ยาวเกิน 3–4 บรรทัด ลองแยกเป็น map + filter หรือใช้ for…of ธรรมดา คนอ่านจะขอบคุณคุณ

at — อ่านจากท้าย

at(-1) คือสมาชิกตัวสุดท้าย อ่านง่ายกว่า arr[arr.length - 1]

[1, 2, 3].at(-1); // 3

เลือกยังไง

อยากได้ใช้
array ใหม่ จำนวนเท่าเดิมmap
array ใหม่ บางตัวfilter
สมาชิกตัวเดียวfind
true / falsesome / every
ค่าเดียวจากทั้ง arrayreduce

Quiz ท้ายบท

4 ข้อ · ข้อละ 10 XP

ทดสอบความเข้าใจเรื่อง Array methods ตอบถูกข้อละ 10 XP

  • 4 ข้อ
  • ไม่จับเวลา
  • เฉลยทันทีทุกข้อ