來聊一聊JavaScrip數組刪除特定元素

序述

說到刪除數組特定元素你可能不止一種方法能夠實現, 下面且來看看我總結的這幾種方法,可能會對你有所幫助!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

    • 若是 deleteCount1, items 參數位置給一個參數值, 則表示替換

    • 若是 deleteCount1, items 參數位置給多於一個的參數值, 則表示替換及追加元素

經過splice方法刪除上面 僞刪除 留下的元素值 null

arr.splice( arr.indexOf( null ), 1 );

刪除後的數組是這個樣子的:

["George", "John", "James", "Adrew", "Martin"]

既然說到了splice方法就順便再說一下它的其它功能, 如 替換元素, 追加元素 等操做吧!

splice函數 - 替換元素

如今數組結構是這樣的:

["George", "John", "James", "Adrew", "Martin"]

想要將數組元素 James 替換爲 Tom

arr.splice( arr.indexOf( 'James' ), 1, 'Tom' );

替換後的數組結構是這個樣子的:

["George", "John", "Tom", "Adrew", "Martin"]

splice函數 - 替換並追加元素

如今當前數組結構是這樣的:

["George", "John", "Tom", "Adrew", "Martin"]

想要將數組元素 Tom 替換爲 Judy 並追加 LindaAlisa

arr.splice( arr.indexOf( 'Tom' ), 1, 'Judy', 'Linda', 'Alisa' );

替換及追加後的數組結構是這個樣子的:

["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

splice函數 - 追加元素

追加元素你能夠選擇任意位置這取決於你的具體需求, 關鍵是在於 start 的取值索引位置而已!當前數組結構以下所示:

["George", "John", "Judy", "Linda", "Alisa", "Adrew", "Martin"]

好比說要在 LindaAlisa 之間追加 BillBlake

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

相關文章
相關標籤/搜索