欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解JavaScript中7種常見刪除數(shù)組中指定元素的方法(含代碼)

 更新時(shí)間:2025年08月21日 15:11:33   作者:孤蓬&聽雨  
文章介紹了JavaScript中刪除數(shù)組元素的七種方法,每種方法適用場(chǎng)景不同,需根據(jù)需求選擇,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

在JavaScript中,有多種方法可以從數(shù)組中刪除指定的元素。以下是幾種常見的方法:

1.使用splice()方法

2.1 splice介紹

JavaScript的splice()方法是一個(gè)非常強(qiáng)大的數(shù)組方法,它允許你同時(shí)從數(shù)組中刪除和添加元素。splice()方法可以接受兩個(gè)參數(shù):開始修改數(shù)組的索引位置和要?jiǎng)h除的元素?cái)?shù)量。之后,你可以添加任意數(shù)量的新元素到該位置。

下面是splice()方法的基本使用方法:

let arr = [1, 2, 3, 4, 5];  
arr.splice(index, deleteCount, item1, ..., itemX);

參數(shù)說明:

  • index(必需):開始修改數(shù)組的索引位置。如果為負(fù)值,則從數(shù)組尾部開始計(jì)算位置。
  • deleteCount(必需):要?jiǎng)h除的元素?cái)?shù)量。如果設(shè)置為0,則不會(huì)刪除任何元素。如果省略,則默認(rèn)刪除從index位置到數(shù)組末尾的所有元素。
  • item1, ..., itemX(可選):要添加到數(shù)組的新元素。

注意:splice()方法會(huì)直接修改原始數(shù)組,并返回被刪除的元素(如果有)。如果沒有元素被刪除,則返回一個(gè)空數(shù)組。

2.2 代碼實(shí)現(xiàn)

splice() 方法可以同時(shí)從數(shù)組中刪除和添加元素。如果只提供了兩個(gè)參數(shù),那么它只會(huì)刪除元素。

let arr = [1, 2, 3, 4, 5];  
let index = arr.indexOf(3); // 找到要?jiǎng)h除的元素的索引  
if (index !== -1) { // 確保元素存在于數(shù)組中  
    arr.splice(index, 1); // 刪除一個(gè)元素  
}  
console.log(arr); // 輸出: [1, 2, 4, 5]

2.使用filter()方法

2.1 filter介紹

JavaScript的filter()方法是一個(gè)非常有用的數(shù)組方法,它創(chuàng)建一個(gè)新數(shù)組,新數(shù)組中的元素是通過檢查指定條件為真的元素。這個(gè)方法不會(huì)改變?cè)紨?shù)組。

這是filter()方法的基本語(yǔ)法:

let newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

參數(shù)說明:

  • callback:必需。測(cè)試每個(gè)元素是否符合條件的函數(shù),該函數(shù)應(yīng)返回一個(gè)布爾值。
  • thisArg:可選。執(zhí)行 callback 函數(shù)時(shí)使用的 this 值。

回調(diào)函數(shù)callback接收以下參數(shù):

  • element:必需。數(shù)組中正在處理的當(dāng)前元素。
  • index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
  • array(可選):filter 被調(diào)用的數(shù)組。

回調(diào)函數(shù)callback應(yīng)該返回一個(gè)布爾值,以指示元素是否應(yīng)包含在新數(shù)組中。如果返回 true,則該元素將包含在新數(shù)組中;如果返回 false,則不包含。

2.2 代碼實(shí)現(xiàn)

let arr = [1, 2, 3, 4, 5];  
let newArr = arr.filter(item => item !== 3); // 過濾掉等于3的元素  
console.log(newArr); // 輸出: [1, 2, 4, 5]

3.使用delete運(yùn)算符

3.1 delete介紹

JavaScript 中的 delete 運(yùn)算符用于刪除對(duì)象的屬性或數(shù)組的元素。

當(dāng)用于對(duì)象時(shí),delete 運(yùn)算符將刪除對(duì)象的指定屬性。如果該屬性存在,則該屬性及其相關(guān)聯(lián)的值將被完全刪除。如果該屬性不存在,則 delete 運(yùn)算符將返回 false。

需要注意的是,delete 運(yùn)算符只會(huì)刪除引用類型的屬性或元素,而不能刪除基本類型的屬性或元素。此外,刪除后的屬性或元素將被設(shè)置為 undefined,而不是完全消失。

3.2 代碼實(shí)現(xiàn)

delete 運(yùn)算符可以刪除數(shù)組的元素,但是不會(huì)影響其他數(shù)組元素,也不會(huì)改變數(shù)組的長(zhǎng)度。

let arr = [1, 2, 3, 4, 5];  
let index = arr.indexOf(3); // 找到要?jiǎng)h除的元素的索引  
if (index !== -1) { // 確保元素存在于數(shù)組中  
    delete arr[index]; // 刪除元素  
}  
console.log(arr); // 輸出: [1, 2, undefined, 4, 5]

4.使用for循環(huán)和splice()方法

我們可以使用 for 循環(huán)遍歷數(shù)組,并在遍歷過程中使用 splice() 方法刪除元素。

let arr = [1, 2, 3, 4, 5];  
for (let i = 0; i < arr.length; i++) {  
    if (arr[i] === 3) { // 如果元素等于3,則刪除它  
        arr.splice(i, 1); // 使用splice()刪除元素,然后減小i以跳過被刪除的元素  
        i--; // 因?yàn)槲覀儎h除了一個(gè)元素,所以我們需要減小索引以保持正確的遍歷順序  
    }  
}  
console.log(arr); // 輸出: [1, 2, 4, 5]

5.使用includes()方法

5.1 includes介紹

includes() 是 JavaScript 中的一個(gè)數(shù)組方法,用于檢查數(shù)組中是否包含特定的元素。如果數(shù)組包含該元素,則返回 true,否則返回 false。

語(yǔ)法

arr.includes(searchElement[, fromIndex])
  • searchElement:必需。要在數(shù)組中查找的值。
  • fromIndex:(可選)開始搜索的位置。如果該索引值大于或等于數(shù)組長(zhǎng)度,則返回 false。如果該索引值小于0,則將其視為0。默認(rèn)值為 0。

注意事項(xiàng)

  • includes() 方法對(duì)NaN的處理與 ===== 運(yùn)算符不同。例如,[NaN].includes(NaN) 的結(jié)果為 false。
  • indexOf() 方法相比,includes() 方法在查找 NaN 時(shí)表現(xiàn)得更準(zhǔn)確。例如,[NaN].indexOf(NaN) 的結(jié)果為 -1,而 [NaN].includes(NaN) 的結(jié)果為 false

5.2 代碼實(shí)現(xiàn)

我們可以使用 includes() 方法檢查數(shù)組中是否存在指定的元素,如果存在,則使用 splice() 方法刪除它。這種方法可以避免在循環(huán)中使用復(fù)雜的條件判斷。

let arr = [1, 2, 3, 4, 5];  
let itemToRemove = 3; // 要?jiǎng)h除的元素  
let index = arr.indexOf(itemToRemove); // 在數(shù)組中查找要?jiǎng)h除的元素的索引  
if (index !== -1) { // 如果元素存在于數(shù)組中,則刪除它  
    arr.splice(index, 1); // 使用splice()刪除元素,并返回被刪除的元素(雖然在這個(gè)例子中我們不需要它)  
}  
console.log(arr); // 輸出: [1, 2, 4, 5]

6.使用shift()或pop()方法

6.1 shift介紹

shift() 是 JavaScript 中的一個(gè)數(shù)組方法,用于刪除并返回?cái)?shù)組的第一個(gè)元素。

語(yǔ)法

arr.shift()

注意事項(xiàng)

  • shift() 方法會(huì)改變?cè)瓟?shù)組。
  • 如果數(shù)組為空,則 shift() 方法不返回任何值,也不更改數(shù)組。

6.2 代碼實(shí)現(xiàn)

shift() 方法刪除并返回?cái)?shù)組的第一個(gè)元素,而 pop() 方法刪除并返回?cái)?shù)組的最后一個(gè)元素。

let arr = [1, 2, 3, 4, 5];  
let itemToRemove = 3; // 要?jiǎng)h除的元素  
arr.splice(arr.indexOf(itemToRemove), 1); // 刪除元素  
console.log(arr); // 輸出: [1, 2, 4, 5]

7.使用map()方法

7.1 map介紹

map() 是 JavaScript 中的一個(gè)數(shù)組方法,用于創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后的結(jié)果。

語(yǔ)法

arr.map(callback(currentValue, index, array)[, thisArg])
  • callback:必需。為數(shù)組中每個(gè)元素執(zhí)行的函數(shù),并返回一個(gè)由回調(diào)函數(shù)返回的結(jié)果組成的數(shù)組。
  • thisArg:(可選)執(zhí)行回調(diào)函數(shù)時(shí)使用的 this 值。

注意事項(xiàng)

  • map() 方法不會(huì)改變?cè)紨?shù)組。
  • 如果提供的回調(diào)函數(shù)在某個(gè)位置返回 undefined,則該位置在新數(shù)組中將被設(shè)置為 undefined。

7.2 代碼實(shí)現(xiàn)

map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后的結(jié)果。如果提供的函數(shù)在某個(gè)位置返回 false,則該位置的元素不會(huì)被包括在新數(shù)組中。

let arr = [1, 2, 3, 4, 5];
let newArr = [...arr.map(item => item !== 3 ? item : [])].flat();
console.log(newArr); // 輸出: [1, 2, 4, 5]

到此這篇關(guān)于詳解JavaScript中7種常見刪除數(shù)組中指定元素的方法(含代碼)的文章就介紹到這了,更多相關(guān)js刪除數(shù)組指定元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論