使用 JavaScript 在陣列中新增元素


可以使用不同的函式在不同位置新增陣列元素。

在陣列末尾新增元素

這可以透過使用 push 方法來實現。例如,

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage");
console.log(veggies);

這將給出以下輸出:

["Onion", "Raddish", "Cabbage"]

您也可以使用它同時推送多個專案,因為它支援可變數量的

引數。例如,

let veggies = ["Onion", "Raddish"];
veggies.push("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

這將給出以下輸出:

["Onion", "Raddish", "Cabbage", "Carrot", "Broccoli"]

在陣列開頭新增元素

這可以透過使用 unshift 方法來實現。例如,

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage");
console.log(veggies);

這將給出以下輸出:

["Cabbage", "Onion", "Raddish"]

您也可以使用它同時 unshift 多個專案,因為它支援可變數量的

引數。例如,

let veggies = ["Onion", "Raddish"];
veggies.unshift("Cabbage", "Carrot", "Broccoli");
console.log(veggies);

這將給出以下輸出:

["Cabbage", "Carrot", "Broccoli", "Onion", "Raddish"]

在陣列的給定位置新增元素

有時您需要將元素新增到陣列的給定位置。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']

該方法的第一個引數是我們想要從中刪除元素或插入元素的索引。第二個引數是我們想要刪除的元素的數量。第三個及以後的引數是我們想要插入到陣列中的值。

更新於: 2020-06-15

153 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.