delete在js裡為引用刪除

2021-08-27 02:24:08 字數 727 閱讀 7861

delete 運算子

從物件中刪除乙個屬性,或從陣列中刪除乙個元素。

delete expression

expression 引數是乙個有效的 jscript 表示式,通常是乙個屬性名或陣列元素。

說明如果 expression 的結果是乙個物件,且在 expression 中指定的屬性存在,而該物件又不允許它被刪除,則返回 false。

在所有其他情況下,返回 true。

example:

var arr = [1,2,3];

var arritem = arr[1];

var obj = ;

var objitem = obj.a;

delete arr[1];

alert(arritem);//這裡輸出2

alert(arr[1]);//這裡輸出undefined

alert(arr.length);//這裡輸出3

delete obj.a;

alert(objitem);//這裡輸出a

//說明:可見,delete刪除的僅僅是陣列或物件中對其成員的引用

//特別需要注意的是,陣列delete後length仍然不變

var objkeys = ;

for(var k in obj)objkeys.push(k);

alert(objkeys);//這裡輸出b

//說明:delete刪除物件成員後,無法被遍歷

js陣列刪除(splice和delete)

今天用到了陣列的刪除,分別使用了splice和delete方法,記錄一下,方便下次查詢。原陣列是乙個關聯陣列,如 長度為5的關聯陣列,現在開始刪除。1.splice方法 test.splice 2,1 console.log test 列印結果如下 ps 陣列長度相應改變,但是原來的陣列索引也相應改...

JS刪除與delete操作符

我以為的刪除以及我的測試var a 1 b 2 let c 3 const d 4 console.log delete a false console.log delete b true console.log delete c false console.log delete d false c...

在map裡刪除元素

map刪除指定元素 1.hashmap 類對映不保證順序 某些對映可明確保證其順序 treemap 類 2.在遍歷map過程中,不能用map.put key,newval map.remove key 來修改和刪除元素,會引發 併發修改異常,可以通過迭代器的remove 從迭代器指向的 collec...