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刪除array陣列元素JavaScript陣列
- Array · 刪除陣列中指定的元素陣列
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- for迴圈無法刪除陣列所有指定元素陣列
- 陣列刪除指定項陣列
- JavaScript陣列檢索指定元素JavaScript陣列
- 【leetcode】27. Remove Element 刪除陣列指定值的元素LeetCodeREM陣列
- JavaScript 陣列 指定索引位置插入元素JavaScript陣列索引
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- JavaScript陣列指定位置插入新元素JavaScript陣列
- 根據陣列的值刪除元素陣列
- PHP 刪除陣列中元素的方式PHP陣列
- JavaScript 陣列的指定位置插入多個元素JavaScript陣列
- PHP從陣列中刪除元素的方法PHP陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- JS刪除陣列裡的某個元素方法JS陣列
- JS陣列不新增重複值 & 刪除指定值JS陣列
- JavaScript專題之學underscore在陣列中查詢指定元素JavaScript陣列
- jQuery刪除具有指定文字的li元素jQuery
- JavaScript陣列元素全排列JavaScript陣列
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- JavaScript 動態新增與刪除元素JavaScript
- PHP 如何根據鍵值刪除一個陣列中的元素PHP陣列
- 陣列的方法-新增刪除陣列
- 陣列求和,刪除,去重陣列
- pandas指定某一列刪除nanNaN
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- JavaScript動態新增和刪除div元素JavaScript
- Java擷取指定區間內的陣列元素並存入新陣列Java陣列