JavaScript 刪除陣列指定元素
下面將通過程式碼例項介紹一下如何刪除陣列中的元素。
可以根據元素值刪除,也可以根據元素索引刪除,本文提供的內容可以滿足如下四種需求:
(1).刪除第一個具有指定值元素。
(2).刪除所有具有指定值的元素。
(3).刪除第N個具有指定值的元素。
(4).刪除第N個元素,對刪除元素的值不做要求。
首先給出程式碼,再詳細分解一下它的實現過程。
一.刪除第一個或者所有元素:
[JavaScript] 純文字檢視 複製程式碼執行程式碼Array.prototype.removeByValue = function(val,flag){ for(let i=0; i<this.length; i++) { if(this[i] == val) { this.splice(i, 1); i=-1; if(!flag) break; } } } let arr=["螞蟻部落", 4, "antzone", "螞蟻部落"]; arr.removeByValue("螞蟻部落",false); console.log(arr);
程式碼執行效果截圖如下:
上述程式碼可以刪除陣列第一個"螞蟻部落"。
引數解析如下:
(1).方法第一個引數規定要刪除元素的值。
(2).方法第二個引數是布林值,規定是否要刪除所有指定元素,false為只刪除第一個。
實現過程大致如下:
(1).通過prototype原型為Array建構函式(類)新增自定義方法removeByValue。
(2).利用for迴圈遍歷陣列中的元素,並判斷當前索引的元素值是否等於val。
(3).如果等於,那麼利用splice方法刪除此元素,並且判斷flag是否是true。
(4).很重一點就是將i重置為-1,原因具體參閱for迴圈無法刪除陣列所有指定元素一章節。
(4).如果是true,那麼繼續進行迴圈遍歷,直到刪除所有指定值的元素,否則直接跳出。
[JavaScript] 純文字檢視 複製程式碼執行程式碼Array.prototype.removeByValue = function(val,flag){ for(let i=0; i<this.length; i++) { if(this[i] == val) { this.splice(i, 1); if(!flag) break; } } } let arr=["螞蟻部落", 4, "antzone", "螞蟻部落"]; arr.removeByValue("螞蟻部落",true); console.log(arr);
程式碼執行效果截圖如下:
上述程式碼刪除所有制為"螞蟻部落"的陣列元素。
二.刪除第N個指定元素:
[JavaScript] 純文字檢視 複製程式碼執行程式碼Array.prototype.removeByValue = function(val,num){ let count = 0; for(let i = 0; i <this.length; i++) { if(this[i] == val) { count=count+1; if(num===count){ this.splice(i, 1); break; } } } } let arr=["螞蟻部落", 4, "antzone", "螞蟻部落"]; arr.removeByValue("螞蟻部落",2); console.log(arr);
程式碼執行效果截圖如下:
上述程式碼可以刪除陣列中的第二個"螞蟻部落"。
引數解析如下:
(1).方法第一個引數規定要刪除元素的值。
(2).方法第二個引數規定要刪除第幾個指定元素。
由於上面程式碼非常簡單,不再詳細分析。
三.刪除第N個指定元素:
[JavaScript] 純文字檢視 複製程式碼執行程式碼Array.prototype.removeByIndex = function(index){ this.splice(index,1) } let arr=["螞蟻部落", 4, "antzone", "青島市南區"]; arr.removeByIndex(2); console.log(arr);
程式碼執行效果截圖如下:
上述程式碼可以刪除索引為2的陣列元素,非常簡單不做介紹。
相關閱讀:
(1).prototype可以參閱JavaScript prototype一章節。
(2).splice可以參閱JavaScript 陣列 splice一章節。
相關文章
- JavaScript刪除陣列中指定元素JavaScript陣列
- JavaScript刪除陣列元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- Array · 刪除陣列中指定的元素陣列
- js刪除陣列指定索引的元素JS陣列索引
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- js刪除陣列元素中的指定值JS陣列
- javascript刪除陣列元素的程式碼JavaScript陣列
- JavaScript刪除陣列第一個元素JavaScript陣列
- javascript陣列如何刪除所有的指定值陣列項JavaScript陣列
- for迴圈無法刪除陣列所有指定元素陣列
- 陣列刪除指定項陣列
- JavaScript刪除陣列最後一個元素JavaScript陣列
- javascript delete運算子刪除array陣列元素JavaScriptdelete陣列
- javascript刪除陣列重複元素程式碼JavaScript陣列
- JavaScript 刪除陣列最後一個元素JavaScript陣列
- 刪除陣列中的指定元素例項程式碼陣列
- JavaScript 刪除指定的li元素JavaScript
- javascript刪除陣列指定值程式碼例項JavaScript陣列
- JavaScript陣列檢索指定元素JavaScript陣列
- JavaScript陣列開頭或者結尾刪除元素JavaScript陣列
- javascript刪除指定索引的陣列程式碼例項JavaScript索引陣列
- JavaScript 陣列 指定索引位置插入元素JavaScript陣列索引
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- javascript刪除陣列重複元素程式碼例項JavaScript陣列
- javascript按照值刪除陣列元素程式碼例項JavaScript陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列
- JavaScript陣列指定位置插入新元素JavaScript陣列
- JavaScript判斷陣列是否包含指定元素JavaScript陣列
- 【leetcode】27. Remove Element 刪除陣列指定值的元素LeetCodeREM陣列
- javascript刪除指定子元素程式碼例項JavaScript
- PHP 刪除陣列中元素的方式PHP陣列
- 根據陣列的值刪除元素陣列
- javascript刪除具有指定文字內容的li元素JavaScript
- jQuery刪除指定子元素jQuery