การปรับเปลี่ยนองค์ประกอบอาร์เรย์แบบไม่เปลี่ยนรูปใน JavaScript

ตอนนี้มาเรียนรู้วิธีการปรับเปลี่ยนองค์ประกอบในอาร์เรย์แบบไม่เปลี่ยนรูปกัน สมมติว่าเรามีอาร์เรย์ตัวอย่างดังนี้:

javascriptlet arr = [1, 2, 3, 4, 5];

สมมติให้ดัชนี (index) ขององค์ประกอบที่ต้องการเปลี่ยน เก็บอยู่ในตัวแปร ind:

javascriptlet ind = 3;

มาเปลี่ยนองค์ประกอบตามดัชนีที่กำหนดกัน ตามแนวทางของเรา เราต้อง สร้างสำเนาของอาร์เรย์ขึ้นมา แล้วจึงปรับเปลี่ยน องค์ประกอบในสำเนานั้น มาลองทำดู:

javascriptlet copy = Object.assign([], arr);
copy[ind] = '!';
let res = copy;

ลองใช้แนวทางที่สอง:

javascriptlet res = [
  ...arr.slice(0, ind),
  '!',
  ...arr.slice(ind + 1)
];
Задание 1

สร้างปุ่ม โดยที่เมื่อคลิกปุ่ม จะเกิด การเปลี่ยนแปลงองค์ประกอบของอาร์เรย์ ให้ดัชนีขององค์ประกอบที่ต้องการเปลี่ยน เก็บอยู่ในตัวแปร