เมธอด fill() คืออะไร?
เมธอด fill() ใช้สำหรับเติมค่าที่กำหนดให้กับทุกอิลิเมนต์ในอาร์เรย์ (หรือบางส่วนของอาร์เรย์) โดยจะเปลี่ยนค่าในอาร์เรย์เดิมโดยตรง (mutate original array)
รูปแบบไวยากรณ์ (Syntax)
array.fill(value, start, end)
พารามิเตอร์
- value (บังคับ): ค่าที่ต้องการเติมลงในอาร์เรย์
- start (ตัวเลือก): ดัชนีเริ่มต้นของการเติม (ค่าเริ่มต้นคือ 0) รองรับค่าลบเพื่อนับจากท้ายอาร์เรย์
- end (ตัวเลือก): ดัชนีสิ้นสุดของการเติม (ไม่รวมดัชนีนี้) ค่าเริ่มต้นคือความยาวของอาร์เรย์ รองรับค่าลบเช่นกัน
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<script>
var num = ["One", "Two", "Three", "Four", "Five"];
document.write("ก่อน fill(): " + num + "<br>");
// เติม "Six" เริ่มจากดัชนี 2 ถึง 3 (ไม่รวมดัชนี 3)
document.write("หลัง fill('Six', 2, 3): " + num.fill("Six", 2, 3));
</script>
</body>
</html>
ตัวอย่างเพิ่มเติม
// เติมค่า 0 ทั้งอาร์เรย์
[1, 2, 3].fill(0); // [0, 0, 0]
// เติมตั้งแต่ดัชนี 1 ถึงสุดท้าย
[1, 2, 3].fill(9, 1); // [1, 9, 9]
// เติมตั้งแต่ดัชนี 1 ถึง 2 (ไม่รวม 2)
[1, 2, 3].fill(9, 1, 2); // [1, 9, 3]
// ใช้ค่าลบ (นับจากท้าย)
[1, 2, 3, 4].fill(0, -2); // [1, 2, 0, 0]
คำเตือน
เมธอด fill() จะเปลี่ยนแปลงอาร์เรย์ต้นฉบับ หากต้องการเก็บอาร์เรย์เดิมไว้ ควรสร้างสำเนาก่อนใช้งาน เช่น [...arr].fill(value)