Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การเพิ่มองค์ประกอบในตำแหน่งที่กำหนดของอาร์เรย์ใน Javascript


บางครั้งคุณจำเป็นต้องเพิ่มองค์ประกอบในตำแหน่งที่กำหนดในอาร์เรย์ 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']

อาร์กิวเมนต์แรกของวิธีการคือดัชนีที่เราต้องการลบองค์ประกอบออกจากหรือแทรกองค์ประกอบเข้าไป อาร์กิวเมนต์ที่สองคือจำนวนองค์ประกอบที่เราต้องการลบ และอาร์กิวเมนต์ที่สามเป็นต้นไปคือค่าที่เราต้องการแทรกลงในอาร์เรย์