在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]

现在,在创建的每个数组对象上都可以使用insert方法。

您也可以使用splice方法在给定位置插入元素。例如,

示例

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

输出结果

这将给出输出-

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

该方法的第一个参数是我们要从中删除元素或将元素插入其中的索引。第二个参数是我们要删除的元素数。接下来的第三个参数是我们要插入数组的值。