js刪除陣列中的元素delete和splice的區別

時間 2021-07-08 21:18:38

1樓:珞硃砂

splice刪除後將返回一個新陣列,包含被刪除的元素, delete則返回布林值。splice刪除元素的同時會縮短原陣列長度,delete只是刪除元素,並不會修改陣列長度。splice可以批量刪除多個連續的元素,delete只能逐一刪除。

方法一:delete 刪除陣列,delete textarr[1]  結果為: [ "a",undefined,"c","d"]  ,只是被刪除的元素變成了 undefined 其他的元素的鍵值還是不變。

方法二:aplice 刪除陣列,splice(index,len,[item])    註釋:該方法會改變原始陣列。

index:陣列開始下標        len: 替換/刪除的長度       item:

替換的值,刪除操作的話 item為空。textarr.splice(1,1);  結果為:

["a","c","d"] 直接刪除了陣列 改變了陣列的值。

陣列物件splice方法:arr.splice(1,1);這種方式陣列長度相應改變,但是原來的陣列索引也相應改變,splice引數中第一個1,是刪除的起始索引(從0算起),在此是陣列第二個元素第二個1,是刪除元素的個數,在此只刪除一個元素,即'b';此時遍歷陣列元素可以用普通遍歷陣列的方式,比如for,因為刪除的元素在陣列中並不保留。

2樓:黑馬程式設計師

1、delete方法:delete arr[1]這種方式陣列長度不變,此時arr[1]變為undefined了,但是也有好處原來陣列的索引也保持不變,此時要遍歷陣列元素可以才用

2、陣列物件splice方法:arr.splice(1,1);

這種方式陣列長度相應改變,但是原來的陣列索引也相應改變splice引數中第一個1,是刪除的起始索引(從0算起),在此是陣列第二個元素

第二個1,是刪除元素的個數,在此只刪除一個元素,即'b';

此時遍歷陣列元素可以用普通遍歷陣列的方式,比如for,因為刪除的元素在

陣列中並不保留。

3樓:好程式設計師

delete和splice都可以刪除陣列中的元素,但是有些區別的,我舉具體的例子給你看,你看後就明白了。

例如有一個陣列是 :var textarr = ['a','b','c','d'];

這時我想刪除這個陣列中的b元素:

方法一:delete 刪除陣列

delete textarr[1] 結果為: [ "a",undefined,"c","d"]

只是被刪除的元素變成了 undefined 其他的元素的鍵值還是不變。

方法二:aplice 刪除陣列

splice(index,len,[item]) 註釋:該方法會改變原始陣列。

index:陣列開始下標 len: 替換/刪除的長度 item:替換的值,刪除操作的話 item為空

textarr.splice(1,1); 結果為: [ "a","c","d"] 直接刪除了陣列 改變了陣列的值。

js中刪除陣列元素的幾種方法

js中刪除陣列元素的問題

4樓:

var arr = new array("日期","電商","其他",);

var rearr = arr.splice(0,1);  // 刪除bai從位置0開始du的1個元素

console.log(arr)

詞直接內用英文寫array delete,看容看這裡的陣列操作教程網頁連結

5樓:匿名使用者

var ary = [1,2,3,4];

ary.splice(0,1);

或 ary.splice($.inarray(2, ary), 1); 其中$.inarray(2, ary)用來查詢某元素在陣列中的版索引位置權。

按鍵精靈怎麼刪除陣列中的某元素,按鍵精靈怎麼刪除陣列中的某一個元素?

remove 查查api,啥都有了 shanhai 山海外掛命令v2.5 沒這個庫的話,就順位把之後的元素前移一個元素,最後一個元素設為null,就相當於自己寫個remove函式,也不難 一個是直接把需要去掉的 這個下標 設定空值.比如 a 1 這樣的話 這個下標仍然存在,只不過是 空值 另一個 是...

js陣列怎麼按屬性值為字串的元素排序

冷月人生之冷劍 首先,將陣列的name的值作為元素建立一個新陣列,然後進行排序,然後按照新陣列的值對應找到舊陣列的對應元素,並將其新增至一個新建立的陣列,舊陣列的此元素刪除。如下 let oldarr let newarr1 new array oldarr.length for i 0 i old...

C中的元素型別(關於陣列)

可以這樣實現 object arr new object 2 將object看做一個二維陣列,因為它的元素是object型別,可以儲存陣列 arr 0 new float 10 第一個元素儲存一個float陣列,其他型別同理 arr 1 new int 5 float arr 0 0 1.0f 還原...