การปรับเปลี่ยนองค์ประกอบอาร์เรย์แบบไม่เปลี่ยนรูปใน JavaScript
ตอนนี้มาเรียนรู้วิธีการปรับเปลี่ยนองค์ประกอบในอาร์เรย์แบบไม่เปลี่ยนรูปกัน สมมติว่าเรามีอาร์เรย์ตัวอย่างดังนี้:
let arr = [1, 2, 3, 4, 5];
สมมติให้ดัชนี (index) ขององค์ประกอบที่ต้องการเปลี่ยน
เก็บอยู่ในตัวแปร ind:
let ind = 3;
มาเปลี่ยนองค์ประกอบตามดัชนีที่กำหนดกัน ตามแนวทางของเรา เราต้อง สร้างสำเนาของอาร์เรย์ขึ้นมา แล้วจึงปรับเปลี่ยน องค์ประกอบในสำเนานั้น มาลองทำดู:
let copy = Object.assign([], arr);
copy[ind] = '!';
let res = copy;
ลองใช้แนวทางที่สอง:
let res = [
...arr.slice(0, ind),
'!',
...arr.slice(ind + 1)
];
สร้างปุ่ม โดยที่เมื่อคลิกปุ่ม จะเกิด การเปลี่ยนแปลงองค์ประกอบของอาร์เรย์ ให้ดัชนีขององค์ประกอบที่ต้องการเปลี่ยน เก็บอยู่ในตัวแปร