ตัวดำเนินการลบใน JavaScript แท้จริงแล้วเป็นโอเปอเรเตอร์ของวัตถุ (ใช้กับวัตถุ)
แต่เนื่องจากอาร์เรย์ยังเป็นวัตถุที่ทำดัชนีใน JavaScript เราจึงสามารถใช้ตัวดำเนินการลบกับอาร์เรย์ได้เช่นกัน
พิจารณาอาร์เรย์ของตัวอักษรต่อไปนี้ -
const arr = ['a', 'b', 'c', 'd', 'e'];
ตัวอย่าง
ให้เรารันโปรแกรมต่อไปนี้และเดาผลลัพธ์ที่คาดหวัง -
const arr = ['a', 'b', 'c', 'd', 'e']; delete arr[4]; console.log(arr); console.log(arr.length);
ผลลัพธ์
ผลลัพธ์ของโปรแกรมนี้ในคอนโซลจะเป็น −
[ 'a', 'b', 'c', 'd', <1 empty item> ] 5
ทำความเข้าใจกับผลลัพธ์ -
เนื่องจากเราลบค่าดัชนีหนึ่งค่าของอาร์เรย์ เราจึงคาดว่า array.length จะส่งออกเป็น 4 แทนที่จะเป็น 5 แต่ตัวดำเนินการ delete จะลบค่าออกจากตำแหน่งหน่วยความจำเท่านั้น และตำแหน่งนั้นยังคงถูกครอบครองโดยอาร์เรย์
สิ่งนี้ทำให้ความยาวของอาร์เรย์ไม่เปลี่ยนแปลง และเรายังคงเห็นองค์ประกอบ 5 รายการในอาร์เรย์ มีเพียงตำแหน่งหน่วยความจำเดียวที่ว่างเปล่าในขณะนี้