在 JavaScript 中按值從陣列中刪除專案

Ammar Ali 2023年10月12日
  1. 使用 JavaScript 中的 splice() 函式按值從陣列中刪除專案
  2. 使用 JavaScript 中的 filter() 函式按值從陣列中刪除專案
在 JavaScript 中按值從陣列中刪除專案

本教程將討論如何使用 JavaScript 中的 splice()filter() 函式按值從陣列中刪除專案。

使用 JavaScript 中的 splice() 函式按值從陣列中刪除專案

要按值從陣列中刪除專案,我們可以使用 JavaScript 中的 splice() 函式。splice() 函式使用索引從陣列中新增或刪除專案。要按值從給定陣列中刪除專案,你需要使用 indexOf() 函式獲取該值的索引,然後使用 splice() 函式使用其索引從陣列中刪除該值。例如,讓我們建立一個包含三個字串值的陣列,並使用 splice()indexOf() 函式刪除一個字串值。請參考下面的程式碼。

var myArray = ['one', 'two', 'three'];
var myIndex = myArray.indexOf('two');
if (myIndex !== -1) {
  myArray.splice(myIndex, 1);
}
console.log(myArray)

輸出:

["one", "three"]

在上面的程式碼中,我們使用 if 語句來檢查該值是否存在於陣列中。如果該值存在,則其索引不會為 -1;否則,它將是-1。indexOf() 函式返回給定值的索引,如果它不存在於陣列中,函式將返回 -1。如果該值存在於陣列中,我們將使用 splice() 函式刪除 myIndex 中存在的 1 個值。我們還可以通過在 splice() 函式中將其定義為第二個引數來從陣列中刪除多個值。console.log() 函式將在控制檯上從陣列中刪除專案後顯示新陣列。

使用 JavaScript 中的 filter() 函式按值從陣列中刪除專案

要按值從陣列中刪除專案,我們可以使用 JavaScript 中的 filter() 函式。filter() 函式用於通過對陣列的每個值應用 filter() 函式內部定義的函式來過濾給定陣列中的值。在我們的例子中,我們將在 filter() 函式內定義一個函式,它將返回所有值以接受我們想要從陣列中刪除的值,並將結果儲存在一個新陣列中。例如,讓我們建立一個包含三個字串值的陣列,然後使用 filter() 函式,我們將建立另一個陣列,該陣列將包含第一個陣列的所有值,但要刪除的值除外。這樣,我們原來的陣列就不會改變了。請參考下面的程式碼。

var myArray = ['one', 'two', 'three'];
var newArray = myArray.filter(function(f) {
  return f !== 'two'
})
console.log(newArray)

輸出:

["one", "three"]

在上面的程式碼中,我們從陣列中刪除了值 two 並將結果儲存在變數 newArray 中,該變數將顯示在控制檯上。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - JavaScript Array