日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
JavaScript刪除對(duì)象的某個(gè)屬性的方法

[[398353]]

1. delete

delete是刪除對(duì)象的屬性沒(méi)有任何剩菜,剩下的唯一真正的方法,但它的工作比其“替代”設(shè)置慢100倍 object[key] = undefined

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)商丘免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

 
 
 
 
  1. var myObject = { 
  2.     "ircEvent": "PRIVMSG", 
  3.     "method": "newURI", 
  4.     "regex": "^http://.*" 
  5. }; 
  6. delete myObject.regex; 
  7.  
  8. console.log(myObject); 

delete 操作符會(huì)從某個(gè)對(duì)象上移除指定屬性。成功刪除的時(shí)候回返回 true,否則返回 false。但是,以下情況需要重點(diǎn)考慮:

如果你試圖刪除的屬性不存在,那么delete將不會(huì)起任何作用,但仍會(huì)返回true

如果對(duì)象的原型鏈上有一個(gè)與待刪除屬性同名的屬性,那么刪除屬性之后,對(duì)象會(huì)使用原型鏈上的那個(gè)屬性(也就是說(shuō),delete操作只會(huì)在自身的屬性上起作用)

任何使用 var 聲明的屬性不能從全局作用域或函數(shù)的作用域中刪除。

這樣的話,delete操作不能刪除任何在全局作用域中的函數(shù)(無(wú)論這個(gè)函數(shù)是來(lái)自于函數(shù)聲明或函數(shù)表達(dá)式)

除了在全局作用域中的函數(shù)不能被刪除,在對(duì)象(object)中的函數(shù)是能夠用delete操作刪除的。

任何用let或const聲明的屬性不能夠從它被聲明的作用域中刪除。

不可設(shè)置的(Non-configurable)屬性不能被移除。這意味著像Math, Array, Object內(nèi)置對(duì)象的屬性以及使用Object.defineProperty()方法設(shè)置為不可設(shè)置的屬性不能被刪除。

2.  obj.field = undefined;

這個(gè)選擇不是這個(gè)問(wèn)題的正確答案!但是,如果你小心使用它,你可以大大加快一些算法。如果您delete在循環(huán)中使用并且在性能方面存在問(wèn)題,請(qǐng)閱讀詳細(xì)解釋

 
 
 
 
  1. var obj = { 
  2.     field: 1      
  3. }; 
  4. obj.field = undefined; 

3. 數(shù)組中使用delete

在數(shù)組中,與普通的舊對(duì)象不同,使用delete在表單中留下垃圾,null在數(shù)組中創(chuàng)建一個(gè)“洞”, 而且length不變。

 
 
 
 
  1. var array = [1, 2, 3, 4]; 
  2. delete array[2]; 
  3. /* Expected result --> [1, 2, 4] 
  4.  * Actual result   --> [1, 2, null, 4] 
  5.  */ 

4. 數(shù)組中使用splice

arrayObject.splice(index,howmany,item1,.....,itemX)

index: 必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)

尾處規(guī)定位置。

howmany: 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。

item1: 可選。向數(shù)組添加的新項(xiàng)目。

 
 
 
 
  1. var arr = new Array(6) 
  2. arr[0] = "George" 
  3. arr[1] = "John" 
  4. arr[2] = "Thomas" 
  5. arr[3] = "James" 
  6. arr[4] = "Adrew" 
  7. arr[5] = "Martin" 
  8.  
  9. document.write(arr + "") 
  10. arr.splice(2,0,"William") 
  11. document.write(arr + "") 
  12. /* 
  13. *George,John,Thomas,James,Adrew,Martin 
  14. *George,John,William,Thomas,James,Adrew,Martin 
  15. */ 

本文轉(zhuǎn)載自微信公眾號(hào)「大遷世界」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系大遷世界公眾號(hào)。

 

責(zé)任編輯:趙寧寧
來(lái)源: 大遷世界 JavaScript 開(kāi)發(fā) 對(duì)象


網(wǎng)站題目:JavaScript刪除對(duì)象的某個(gè)屬性的方法
當(dāng)前鏈接:http://www.dlmjj.cn/article/djejgpd.html