刪除物件屬性, 改變原物件或不改變原物件

2021-09-26 03:32:42 字數 907 閱讀 5704

(一)用處

刪除物件的屬性

eg:var person = ;

delete person.name;

console.log(person);

結果:(二)注意事項:

(1)不可以刪除用var 、 const定義的變數;***注:***是指物件裡的屬性,不是指該物件不能用var 或 const。

eg:var a = 123; 或 const b = 456; 如果它們是物件的屬性就無法用delete刪除。

(2)刪除成功 delete person.name;為true。

(3)如果屬性不存在,仍然刪除,返回的值卻是true。

(三)使用時出現的問題

在vue子元件裡接收物件,this.list;

const obj = this.list;

delete obj.id;

結果不僅obj改變,this.list也發生改變,影響後面使用this.list。

但如果後面不需要使用原物件就可以使用該方法。

(一)使用如圖,侷限是只可以刪除物件開頭的屬性。

(二)使用delete改良版

要點:下圖**標亮處。

結果:

複製物件重新賦值不改變原物件

直接賦值 varobj1 varobj2 obj1 console.log obj2 通過 object.assign 這個屬性來進行複製 varobj varobj2 object.assign obj console.log obj2 通過 for in 迴圈賦值 varobj1 c 0 var...

物件不改變只改變物件的屬性多執行緒執行結果還是同步

只要物件不變,即使物件中的屬性被改變了,多個執行緒呼叫物件中的方法時仍是同步的,因為物件不改變多個想成獲取的就是同乙個鎖 如下 public class a public class b 如果有執行緒1和執行緒2一起呼叫test方法,執行緒1先呼叫,然後再改變類a中的屬性username或num的值...

js陣列方法之改變或不改變原陣列

pop 將引數從陣列尾部刪除 unshift 將引數新增到陣列頭部 shift 將引數從陣列頭部刪除 reverse 陣列倒序 sort 陣列排序 var arr 2 1,3 4,15 11,14 12 arr.sort a,b a b 1,2,3,4,11,12,14,15 arr.sort a,...