Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีลบรายการออกจากอาร์เรย์ JavaScript ตามค่า (value)

เพื่อลบรายการออกจากอาร์เรย์ใน JavaScript ตามค่า ให้ทำ 2 ขั้นตอน:

  1. หา ดัชนี (index) ของค่าด้วย indexOf()
  2. ลบด้วย splice() โดยระบุ index และจำนวนรายการที่จะลบ

ตัวอย่าง

<html>
  <body>
    <script>
      var array = [10, 30, 40, 80, 90];
      var index = array.indexOf(90);

      document.write("Original array: " + array);

      if (index > -1) {
        array.splice(index, 1); // ลบ 1 รายการ ตำแหน่ง index
      }

      document.write("<br>New array after deletion: " + array);
    </script>
  </body>
</html>

ผลลัพธ์

Original array: 10,30,40,80,90
New array after deletion: 10,30,40,80

วิธีทางเลือก (ES6+)

// ใช้ filter (สร้างอาร์เรย์ใหม่ ไม่แก้อาร์เรย์เดิม)
const filtered = array.filter(item => item !== 90);

// ใช้ findIndex + splice (ลบทุกค่าที่ตรงกัน)
array.forEach((item, i) => {
  if (item === 90) array.splice(i, 1);
});

ข้อควรระวัง

  • indexOf หาได้แค่ครั้งแรกเท่านั้น ถ้ามีค่าซ้ำต้องใช้ลูป
  • splice แก้ไขอาร์เรย์ต้นฉบับ (mutates original array)
  • ถ้าไม่พบค่า indexOf จะคืน -1 ต้องตรวจสอบก่อน splice