There is no inbuilt method in JavaScript that directly allows for the insertion of an element at any arbitrary index of an array.
Approaches to insert items at a specific index:
This can be solved using these 2 approaches:
- using array.splice() Method
- using JavaScript for loop
Method 1: Using array.splice() Method
The array.splice() method is usually used to add or remove items from an array. This method takes in 3 parameters, the index where the element id is to be inserted or removed, the number of items to be deleted, and the new items which are to be inserted. The only insertion can be done by specifying the number of elements to be deleted to 0. This allows only inserting the specified item at a particular index with no deletion.
Syntax:
array.splice(index, no_of_items_to_remove, item1 ... itemX)
Example: In this example, we will insert an element at the 2nd index of the array using the splice() method of JavaScript.
Javascript
function insertElement() { let arr = [1, 2, 3, 4, 5]; let index = 2; let element = -99; arr.splice(index, 0, element); console.log(arr); } insertElement(); |
[ 1, 2, -99, 3, 4, 5 ]
Method 2: Using JavaScript for loop
The for loop can be used to move all the elements from the index (where the new element is to be inserted) to the end of the array, one place after its current place. The required element can then be placed at the index.
Syntax:
// Shift all elements one place to the
// back until index
for (let i = arr.length; i > index; i--) {
arr[i] = arr[i - 1];
}
// Insert the element at the index
arr[index] = element;
Example: In this example, we will insert an element at the 2nd index of the array using the for loop of JavaScript.
Javascript
function insertElement() { let arr = [1, 2, 3, 4, 5]; let index = 2; let element = -99; // Shift all elements one place // to the back until index for (let i = arr.length; i > index; i--) { arr[i] = arr[i - 1]; } // Insert the element at the index arr[index] = element; console.log(arr); } insertElement(); |
[ 1, 2, -99, 3, 4, 5 ]