說到刪除陣列特定元素你可能不止一種方法可以實現, 下面且來看看我總結的這幾種方法,可能會對你有所幫助!
var arr = ["george", "john", "thomas", "james", "adrew", "martin"];
什麼是偽刪除呢? 就是說將陣列元素值設定為null;
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方法原型定義, 中文意思呢是:剪接
, 其引數的意義是:
通過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.shift();
刪除後的陣列是這個樣子的:
["john", "judy", "linda", "bill", "blake", "alisa", "adrew", "martin"]
arr.pop();
刪除後的陣列是這個樣子的:
["john", "judy", "linda", "bill", "blake", "alisa", "adrew"]
希望本文對你的工作和學習有所幫助
如果覺得還不錯並且也長知識了, 怎麼感謝我呢? 媽呀! 點讚啊!
good luck! from warnerwu at 2017.09.06 am
聊一聊小甜餅
cookies程式設計 cookie是儲存在客戶端的小文字,儲存的位置分為兩種 cookie可能儲存在客戶端瀏覽器的所佔記憶體中,關閉瀏覽器後,cookies就不再存在。cookie也可能儲存在客戶pc機的硬碟上,設定有效時間,超過有效時間後失效。cookie的常見應用 簡化登入 很多 在登入時,可...
聊一聊動態規劃
一 問題 看乙個經常被引用的問題 例子1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 例子2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 問你例子1是多少時,你乙個個算後,結果是20 接著問你例子2時,你會馬上說出21,為什...
聊一聊元資料
這個話題來自我的msn space。這是原文 元資料 metadata 這個詞現在到處氾濫。其實我對元資料充其量只能說有自己的理解而已,並不能確信這個理解是正確的。我認為,資料結構分為三個層次 uml可是四層哦 例項層 直接描述特異化的資料場景 元資料層 描述例項的結構的一組資料 元資料的元資料層 ...