本文介紹如何刪除 JavaScript 數組中的元素。

以下實例我們自定義一個刪除數組元素的方法:

實例

Array.prototype.removeByValue = function (val) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] === val) {
      this.splice(i, 1);
      i--;
    }
  }
  return this;
}

var sites = ['apple', 'google', 'runoob', 'taobao'];
sites.removeByValue('google');

console.log(sites);
// -> ['apple', 'runoob', 'taobao']

嚐試一下 »

也可以使用 array.splice 方法來實現:

實例

const array = [2, 5, 9];

console.log(array);

const index = array.indexOf(5);
if (index > -1) {
  array.splice(index, 1); // 第二個參數為刪除的次數,設置隻刪除一次
}

// array = [2, 9]
console.log(array);

嚐試一下 »

以下實例設置了可以刪除一個或多個數組中的元素:

實例

function removeItemOnce(arr, value) {
  var index = arr.indexOf(value);
  if (index > -1) {
    arr.splice(index, 1);
  }
  return arr;
}

function removeItemAll(arr, value) {
  var i = 0;
  while (i < arr.length) {
    if (arr[i] === value) {
      arr.splice(i, 1);
    } else {
      ++i;
    }
  }
  return arr;
}
// Usage
console.log(removeItemOnce([2,5,9,1,5,8,5], 5))
console.log(removeItemAll([2,5,9,1,5,8,5], 5))

嚐試一下 »