JS刪除陣列裡的某個元素方法
導讀 | JS刪除陣列裡的某個元素這個大家經常遇到的經典問題整理了在各種情況下的函式寫法以及遇到問題的分析,以下是全部內容 |
刪除陣列指定的某個元素
js刪除陣列中某一項或幾項的幾種方法
首先可以給JS的陣列物件定義一個函式,用於查詢指定的元素在陣列中的位置,即索引,程式碼為:
Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == val) return i; } return -1; };
然後使用通過得到這個元素的索引,使用js陣列自己固有的函式去刪除這個元素:
程式碼為:
Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index > -1) { this.splice(index, 1); } };
這樣就構造了這樣一個函式,比如我有有一個陣列:
var emp = ['abs','dsf','sdf','fd']
假如我們要刪除其中的 'fd' ,就可以使用:
emp.remove('fd');
刪除的陣列的某一項
splice(index,len,[item]) 註釋:該方法會改變原始陣列。
splice有3個引數,它也可以用來替換/刪除/新增陣列內某一個或者幾個值
index:陣列開始下標 len: 替換/刪除的長度 item:替換的值,刪除操作的話 item為空
如:
arr = ['a','b','c','d']
刪除
//刪除起始下標為1,長度為1的一個值(len設定1,如果為0,則陣列不變) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c','d']; //刪除起始下標為1,長度為2的一個值(len設定2) var arr2 = ['a','b','c','d'] arr2.splice(1,2); console.log(arr2); //['a','d']
替換
//替換起始下標為1,長度為1的一個值為‘ttt',len設定的1 var arr = ['a','b','c','d']; arr.splice(1,1,'ttt'); console.log(arr); //['a','ttt','c','d'] var arr2 = ['a','b','c','d']; arr2.splice(1,2,'ttt'); console.log(arr2); //['a','ttt','d'] 替換起始下標為1,長度為2的兩個值為‘ttt',len設定的1
新增 ---- len設定為0,item為新增的值
var arr = ['a','b','c','d']; arr.splice(1,0,'ttt'); console.log(arr); //['a','ttt','b','c','d'] 表示在下標為1處新增一項'ttt'
delete方法刪除掉陣列中的元素後,會把該下標出的值置為undefined,陣列的長度不會變
var arr = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中間出現兩個逗號,陣列長度不變,有一項為undefined
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2865488/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP從陣列中刪除元素的方法PHP陣列
- JavaScript刪除陣列元素JavaScript陣列
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- Array · 刪除陣列中指定的元素陣列
- 根據陣列的值刪除元素陣列
- PHP 刪除陣列中元素的方式PHP陣列
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- 陣列的方法-新增刪除陣列
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- 查詢陣列裡資料刪除和增加的方法陣列
- 【JS】JS陣列新增元素的三種方法JS陣列
- PHP 如何根據鍵值刪除一個陣列中的元素PHP陣列
- for迴圈無法刪除陣列所有指定元素陣列
- js 取陣列中某個物件的集合JS陣列物件
- 2.刪除字串中的某個字元。(藉助字元陣列實現)字串字元陣列
- 【leetcode】27. Remove Element 刪除陣列指定值的元素LeetCodeREM陣列
- Linux技巧--刪除某列Linux
- leetcode-刪除排序陣列中的重複項+移除元素LeetCode排序陣列
- 判斷某個陣列在不在物件裡陣列物件
- 獲取陣列第N個元素的方法陣列
- js陣列操作——物件陣列根據某個相同的欄位分組JS陣列物件
- JS陣列at函式(獲取最後一個元素的方法)介紹JS陣列函式
- 在迴圈陣列時使用splice()方法刪除陣列遇到的問題陣列
- js 從目標陣列中過濾掉 一個陣列元素,JS陣列
- 陣列刪除指定項陣列
- JS陣列的方法JS陣列
- JS陣列不新增重複值 & 刪除指定值JS陣列
- js 陣列方法JS陣列
- 獲取一個陣列裡面第K大的元素陣列
- JS模擬陣列操作(新增、刪除、插入、排序、反轉)JS陣列排序
- Array · 判斷某元素是否在陣列中陣列
- 陣列求和,刪除,去重陣列
- JS 陣列的迭代方法JS陣列
- 【leetcode】26. Remove Duplicates from Sorted Array 刪除有序陣列的重複元素LeetCodeREM陣列
- Python列表刪除元素的方法有哪些?Python