ในขณะที่จัดการกับข้อมูลจำนวนมาก อาจมีข้อกำหนดให้ลบบางรายการออกเนื่องจากการอัพเดท ตัวอย่างเช่น การลบค่าตามแอตทริบิวต์หรือคุณสมบัติเฉพาะ ส่งผลให้เข้าถึงข้อมูลที่เกี่ยวข้องได้สะดวกและลบรายการที่ไม่ต้องการ ในสถานการณ์เช่นนี้ การลบวัตถุออกจากอาร์เรย์ด้วยค่าใน JavaScript จะมีประโยชน์มากในการเข้าถึงข้อมูลทันทีและประหยัดหน่วยความจำ
บทความนี้จะกล่าวถึงวิธีการลบวัตถุออกจากอาร์เรย์ตามค่าใน JavaScript
จะลบ / กำจัดวัตถุออกจากอาร์เรย์ด้วยค่าใน JavaScript ได้อย่างไร
หากต้องการกำจัดวัตถุออกจากอาร์เรย์ตามค่าใน JavaScript ให้ใช้วิธีการต่อไปนี้:
มาหารือกันทีละแนวทาง!
วิธีที่ 1: ลบวัตถุออกจากอาร์เรย์ด้วยค่าใน JavaScript โดยใช้วิธี findIndex() และ splice()
“ ค้นหาดัชนี () ” วิธีการส่งคืนดัชนี (ตำแหน่ง) ขององค์ประกอบโดยไม่ต้องแก้ไขอาร์เรย์เดิม “ ประกบกัน() ” วิธีการเพิ่ม/ลบองค์ประกอบอาร์เรย์เฉพาะและส่งผลต่ออาร์เรย์เดิมด้วย สามารถใช้วิธีการเหล่านี้เพื่อค้นหาดัชนีของวัตถุที่ต้องการลบออก หลังจากนั้น วัตถุนั้นจะถูกประกบตามจำนวนที่ระบุ
ไวยากรณ์
array.findIndex ( ฟังก์ชั่น ( currVal, ดัชนี, อาร์เรย์ ) , ค่า )ในไวยากรณ์นี้:
- “ ฟังก์ชั่น ” หมายถึงฟังก์ชันที่ต้องเรียกใช้สำหรับแต่ละรายการในอาร์เรย์
- พารามิเตอร์ของฟังก์ชันอ้างถึงดัชนีของค่าปัจจุบันในอาร์เรย์ที่ระบุ
- “ ค่า ” หมายถึงค่าที่ต้องส่งผ่านไปยังฟังก์ชันเป็น “ นี้ '.
array.splice ( ดัชนี, ตัวเลข, ใหม่ )
ในไวยากรณ์ที่กำหนดข้างต้น:
- “ ดัชนี ” ชี้ไปที่ตำแหน่งที่ควรเพิ่มหรือลบรายการ
- “ ในหนึ่ง ” หมายถึงหมายเลขของรายการ
- “ ใหม่ ” สอดคล้องกับองค์ประกอบใหม่แทน
ตัวอย่าง
ทำตามรหัสที่ระบุไว้ด้านล่าง:
< สคริปต์ พิมพ์ = 'ข้อความ/จาวาสคริปต์' >อนุญาต กำหนดให้ Array = [ { อายุ: 18 } , { อายุ: ยี่สิบ } , { อายุ: 25 } ] ;
อนุญาต removeObject = givenArray.findIndex ( วัตถุ = > {
กลับ object.age === 18 ;
} ) ;
คอนโซล.ล็อก ( 'ดัชนีของวัตถุที่จะลบคือ:' , ลบวัตถุ ) ;
givenArray.splice ( ลบวัตถุ 1 ) ;
คอนโซล.ล็อก ( 'อาร์เรย์หลังจากลบวัตถุตามค่าจะกลายเป็น:' , รับ Array ) ;
สคริปต์ >
ในข้อมูลโค้ดด้านบน:
- ประกาศอาร์เรย์ของวัตถุที่มีคุณสมบัติที่ระบุไว้
- ในขั้นตอนถัดไป ให้เชื่อมโยง “ ค้นหาดัชนี () ” กับอาร์เรย์ที่ประกาศไว้ในขั้นตอนที่แล้ว
- สิ่งนี้จะนำไปสู่การวนซ้ำผ่านแต่ละองค์ประกอบ (วัตถุ) ในอาร์เรย์
- ด้วยเหตุนี้ ดัชนีของวัตถุเฉพาะจากอาร์เรย์จะแสดงขึ้นซึ่งตรงกับค่าที่ระบุกับคุณสมบัติ เช่น 18
- หลังจากนั้นให้ใช้ “ ประกบกัน() ” โดยอ้างถึงดัชนีที่ดึงมาซึ่งจะลบวัตถุเฉพาะเทียบกับดัชนีนั้น
- โปรดทราบว่า “ 1 ” ระบุจำนวนของวัตถุที่ต้องลบออก
- สุดท้าย แสดงอาร์เรย์ของวัตถุที่เป็นผลลัพธ์
เอาต์พุต
จากผลลัพธ์ข้างต้น จะเห็นได้ว่าดัชนีของวัตถุนั้นแสดงอยู่ และจะถูกลบออกในภายหลัง
วิธีที่ 2: ลบวัตถุออกจากอาร์เรย์ตามค่าใน JavaScript โดยใช้วิธี filter()
“ กรอง() ” วิธีการสร้างอาร์เรย์ของรายการใหม่ที่ผ่านการทดสอบเฉพาะ สามารถใช้วิธีนี้เพื่อกรองวัตถุที่ต้องการลบตามเงื่อนไขผ่านตัวดำเนินการเปรียบเทียบ
ไวยากรณ์
อาร์เรย์ตัวกรอง ( ฟังก์ชั่น ( วาล ) , นี้ )ที่นี่:
- “ ฟังก์ชั่น ” ชี้ไปที่ฟังก์ชันที่จะเปลี่ยนเส้นทางไปยังฟังก์ชันสำหรับการกรอง
- “ วาล ” คือค่าขององค์ประกอบปัจจุบัน
- “ นี้ ” หมายถึงค่าที่ส่งไปยังฟังก์ชัน
ตัวอย่าง
มาดูภาพรวมตัวอย่างที่ระบุไว้ด้านล่าง:
< สคริปต์ พิมพ์ = 'ข้อความ/จาวาสคริปต์' >อนุญาต กำหนดให้ Array = [ { ขนาด: 35 } , { ขนาด: 40 } , { ขนาด: สี่ห้า } ] ;
คอนโซล.ล็อก ( 'อาร์เรย์ที่กำหนดคือ:' , รับ Array )
อนุญาต newArray = givenArray.filter ( วัตถุ = > {
กลับ วัตถุขนาด ! == สี่ห้า ;
} ) ;
คอนโซล.ล็อก ( 'อาร์เรย์หลังจากลบวัตถุตามค่าจะกลายเป็น:' , ใหม่อาร์เรย์ ) ;
สคริปต์ >
ใช้ขั้นตอนต่อไปนี้ตามที่ระบุในโค้ดด้านบน:
- ในทำนองเดียวกัน ประกาศอาร์เรย์ของวัตถุและแสดงผล
- หลังจากนั้นให้ใช้ “ กรอง() วิธีการ” โดยอ้างถึงองค์ประกอบ (วัตถุ)
- ตอนนี้ กรองอาร์เรย์ที่เกี่ยวข้องเพื่อให้อาร์เรย์ใหม่ถูกสร้างขึ้นตามเงื่อนไขที่พึงพอใจผ่านทาง ' ไม่เท่ากัน(!==) ” ตัวดำเนินการเปรียบเทียบ
- สุดท้าย แสดงอาร์เรย์ที่กรอง
เอาต์พุต
เอาต์พุตด้านบนบ่งชี้ว่ามีการสร้างอาร์เรย์ใหม่ของวัตถุที่กรองแล้ว
วิธีที่ 3: ลบวัตถุออกจากอาร์เรย์ตามค่าใน JavaScript โดยใช้วิธี pop()
“ โผล่() ” วิธีการกำจัดองค์ประกอบสุดท้ายในอาร์เรย์และยังส่งผลต่ออาร์เรย์เดิมด้วย วิธีการนี้สามารถใช้เพื่อป๊อปวัตถุเฉพาะจากอาร์เรย์และสร้างอาร์เรย์ที่อัปเดตด้วยวัตถุที่ถูกลบ
ตัวอย่าง
ตัวอย่างด้านล่างแสดงแนวคิดที่กล่าวถึง:
< สคริปต์ พิมพ์ = 'ข้อความ/จาวาสคริปต์' >อนุญาต กำหนดให้ Array = [ { ชื่อ: 'แฮร์รี่' } , { ชื่อ: 'เดวิด' } ]
อนุญาต newArray = givenArray.pop ( วัตถุ = > {
กลับ object.name = 'แฮร์รี่'
} )
คอนโซล.ล็อก ( 'อาร์เรย์หลังจากลบวัตถุตามค่าจะกลายเป็น:' , ใหม่อาร์เรย์ ) ;
สคริปต์ >
ในข้อมูลโค้ดด้านบน:
- ในทำนองเดียวกัน ประกาศอาร์เรย์ของวัตถุที่มีคุณสมบัติตามที่ระบุไว้
- ในขั้นตอนถัดไป ให้ใช้ “ โผล่() ” วิธีการลบวัตถุเฉพาะที่มีค่าที่ระบุเทียบกับคุณสมบัติ “ ชื่อ '.
- เป็นผลให้เหลือเพียงวัตถุเดียวในอาร์เรย์ผลลัพธ์ “ ใหม่ '.
- สุดท้าย แสดงอาร์เรย์ของวัตถุที่อัปเดต เช่น newArr
เอาต์พุต
ผลลัพธ์ข้างต้นแสดงว่าความต้องการที่ต้องการเป็นจริง
บทสรุป
“ ค้นหาดัชนี () ' และ ' ประกบกัน() ” วิธีการ “ กรอง() ” วิธีการ หรือ “ โผล่() ” สามารถใช้เมธอดเพื่อลบวัตถุออกจากอาร์เรย์ตามค่าของมันใน JavaScript วิธีการเหล่านี้จะลบออบเจกต์หนึ่งๆ ตามการจัดทำดัชนี กรองผ่านโอเปอเรเตอร์ not equal(!==) หรือเพียงแค่เปิดอ็อบเจกต์ตามเงื่อนไขตามลำดับ บทความนี้อธิบายวิธีการลบ/กำจัดวัตถุออกจากอาร์เรย์ตามค่าของมันโดยใช้ JavaScript