Computer >> Máy Tính >  >> Lập trình >> Javascript

Thêm một phần tử tại một vị trí nhất định của mảng trong Javascript


Đôi khi bạn cần thêm một phần tử vào một vị trí nhất định trong một mảng. JavaScript không hỗ trợ nó ra khỏi hộp. Vì vậy chúng ta cần tạo một hàm để có thể làm được điều đó. Chúng ta có thể thêm nó vào nguyên mẫu Array để có thể sử dụng nó trực tiếp trên đối tượng.

Ví dụ

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);

Đầu ra

Điều này sẽ cung cấp đầu ra -

[1, 2, -1, 3, 4]

Bây giờ, phương thức chèn có sẵn trên mọi đối tượng mảng mà bạn tạo.

Bạn cũng có thể sử dụng phương pháp nối để chèn các phần tử tại các vị trí đã cho. Ví dụ:

Ví dụ

var months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
console.log(months);

Đầu ra

Điều này sẽ cung cấp đầu ra -

['Jan', 'Feb', 'March', 'April', 'June']

Đối số đầu tiên của phương thức là chỉ mục mà chúng ta muốn xóa các phần tử khỏi hoặc chèn các phần tử vào. Đối số thứ hai là số phần tử chúng ta muốn loại bỏ. Và đối số thứ ba trở đi là các giá trị mà chúng tôi muốn chèn vào mảng.