บางครั้งคุณจำเป็นต้องเพิ่มองค์ประกอบในตำแหน่งที่กำหนดในอาร์เรย์ JavaScript ไม่รองรับตั้งแต่แกะกล่อง เราจึงต้องสร้างฟังก์ชันขึ้นมาจึงจะสามารถทำได้ เราสามารถเพิ่มไปยังต้นแบบ Array เพื่อให้สามารถใช้งานได้โดยตรงบนวัตถุ
ตัวอย่าง
Array.prototype.insert = function(data, position) { if (position >= this.length) { this.push(data) // Put at the end if position is more than total length of array } else if (position <= 0) { this.unshift(data) // Put at the start if position is less than or equal to 0 } else { // Shift all elements to right for (let i = this.length; i >= position; i--) { this[i] = this[i - 1]; } this[position] = data; } } let arr = [1, 2, 3, 4]; arr.insert(-1, 2); console.log(arr);
ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
[1, 2, -1, 3, 4]
ตอนนี้วิธีการแทรกมีอยู่ในทุกอ็อบเจ็กต์อาร์เรย์ที่คุณสร้าง
คุณยังสามารถใช้วิธีประกบเพื่อแทรกองค์ประกอบที่ตำแหน่งที่กำหนด ตัวอย่างเช่น
ตัวอย่าง
var months = ['Jan', 'March', 'April', 'June']; months.splice(1, 0, 'Feb'); console.log(months);
ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
['Jan', 'Feb', 'March', 'April', 'June']
อาร์กิวเมนต์แรกของวิธีการคือดัชนีที่เราต้องการลบองค์ประกอบออกจากหรือแทรกองค์ประกอบเข้าไป อาร์กิวเมนต์ที่สองคือจำนวนองค์ประกอบที่เราต้องการลบ และอาร์กิวเมนต์ที่สามเป็นต้นไปคือค่าที่เราต้องการแทรกลงในอาร์เรย์