說到刪除數組特定元素你可能不止一種方法能夠實現, 下面且來看看我總結的這幾種方法,可能會對你有所幫助!javascript
var arr = ["George", "John", "Thomas", "James", "Adrew", "Martin"];
什麼是僞刪除呢? 就是說將數組元素值設置爲null;java
arr[ arr.indexOf( 'Thomas' ) ] = null;
刪除後的數組是這個樣子的:數組
["George", "John", null, "James", "Adrew", "Martin"]
不過要注意, 這意味着數組Array也就是變量arr的長度保持不變函數
是什麼是徹底刪除呢? 這個問題你可能從字面上也能想獲得就是真正的刪除數組Array的元素值, 而且會改變數組的長度, 能夠經過內置數組對象Array的splice方法來實現這個需求!說到splice這個方法就要說一說它的具體參數了:學習
Array.prototype.splice = function(start,deleteCount,items) {};
上面是內置對象Array的splice方法原型定義, 中文意思呢是:
剪接
, 其參數的意義是:prototype
start
: 起點索引值code
deleteCount
: 要刪除的元素個數對象
items
: 刪除後替換/追加的元素索引
參數不加時就表示刪除元素, 而且還要結合 deleteCount
的參數值ip
若是 deleteCount
爲 1
, items
參數位置給一個參數值, 則表示替換
若是 deleteCount
爲 1
, items
參數位置給多於一個的參數值, 則表示替換及追加元素
經過splice方法刪除上面
僞刪除
留下的元素值null
arr.splice( arr.indexOf( null ), 1 );
刪除後的數組是這個樣子的:
["George", "John", "James", "Adrew", "Martin"]
既然說到了splice方法就順便再說一下它的其它功能, 如
替換元素
,追加元素
等操做吧!
如今數組結構是這樣的:
["George", "John", "James", "Adrew", "Martin"]
想要將數組元素
James
替換爲Tom
arr.splice( arr.indexOf( 'James' ), 1, 'Tom' );
替換後的數組結構是這個樣子的:
["George", "John", "Tom", "Adrew", "Martin"]
如今當前數組結構是這樣的:
["George", "John", "Tom", "Adrew", "Martin"]
想要將數組元素
Tom
替換爲Judy
並追加Linda
和Alisa
arr.splice( arr.indexOf( 'Tom' ), 1, 'Judy', 'Linda', 'Alisa' );
替換及追加後的數組結構是這個樣子的:
["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]
追加元素你能夠選擇任意位置這取決於你的具體需求, 關鍵是在於
start
的取值索引位置而已!當前數組結構以下所示:
["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]
好比說要在
Linda
和Alisa
之間追加Bill
和Blake
arr.splice( arr.indexOf( 'Linda' ) + 1, 0, 'Bill', 'Blake' );
追加後的數組結構是下面這個樣子的:
["George", "John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]
起點位置 arr.indexOf( 'Linda' ) + 1
就是在數組元素 Linda
以後了
刪除元素個數參數這裏設置的是 0
這個是追加元素的關鍵, 也就是說不刪除元素
'Bill', 'Blake'
這個呢就是內置對象Array的splice方法的最後一個參數 items
它表示0個是和多個, 根據 deleteCount
參數值不一樣表示的含義也會不一樣, 這裏 deleteCount
參數是 0
而且 items
又有兩個值來表示這個參數, 所示說就是追加元素值 'Bill', 'Blake'
以上說的是刪除數組中特定的元素, 那刪除第一個元素和最後一個元素那實如今是太簡單了, 這裏簡單提一下就是了
arr.shift();
刪除後的數組是這個樣子的:
["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew", "Martin"]
arr.pop();
刪除後的數組是這個樣子的:
["John", "Judy", "Linda", "Bill", "Blake", "Alisa", "Adrew"]
以上就是JavaScrip數組刪除特定元素我的所總結的一些方法, 若是您還要其它的一些好的方法, 請您留言示下, 謝謝您的支持!
但願本文對你的工做和學習有所幫助
若是以爲還不錯而且也長知識了, 怎麼感謝我呢? 媽呀! 點贊啊!
Good Luck! from warnerwu at 2017.09.06 AM