การลบทำหน้าที่เหมือนสถานการณ์ในโลกแห่งความจริงมันเพิ่งลบรายการออก แต่ความยาวของอาร์เรย์ยังคงเท่าเดิม:
ตัวอย่างจากโหนดเทอร์มินัล:
> var arr = ["a","b","c","d"];
> delete arr[2]
true
> arr
[ 'a', 'b', , 'd', 'e' ]
นี่คือฟังก์ชั่นในการลบรายการของอาเรย์โดยดัชนีโดยใช้slice ()มันจะใช้เวลา arr เป็น ARG แรกและดัชนีของสมาชิกที่คุณต้องการลบเป็นอาร์กิวเมนต์ที่สอง อย่างที่คุณเห็นจริง ๆ แล้วมันจะลบสมาชิกของอาร์เรย์และจะลดความยาวของอาร์เรย์ลง 1
function(arr,arrIndex){
return arr.slice(0,arrIndex).concat(arr.slice(arrIndex + 1));
}
สิ่งที่ฟังก์ชั่นด้านบนทำคือนำสมาชิกทั้งหมดขึ้นกับดัชนีและสมาชิกทุกคนหลังจากดัชนีและเชื่อมต่อพวกเขาเข้าด้วยกันและส่งกลับผลลัพธ์
นี่คือตัวอย่างการใช้ฟังก์ชั่นด้านบนเป็นโมดูลโหนดการเห็นเทอร์มินัลจะมีประโยชน์:
> var arr = ["a","b","c","d"]
> arr
[ 'a', 'b', 'c', 'd' ]
> arr.length
4
> var arrayRemoveIndex = require("./lib/array_remove_index");
> var newArray = arrayRemoveIndex(arr,arr.indexOf('c'))
> newArray
[ 'a', 'b', 'd' ] // c ya later
> newArray.length
3
โปรดทราบว่าสิ่งนี้จะไม่ทำงานหนึ่งอาเรย์ที่มี dupes อยู่ในนั้นเพราะ indexOf ("c") เพิ่งจะได้รับการทดสอบครั้งแรกและแยกออกและเอา "c" แรกที่พบ
.splice
ในลูปได้ดูที่คำถามนี้: ลบจาก array ใน JavaScript