JavaScript Object.entries()
Object.entries方法返回給定物件自有可列舉屬性鍵值對的陣列。
上述概念強調兩點:
(1).可以返回的屬性鍵值對必須是自有,也就是不能是從原型鏈上繼承而來。
(2).返回值是一個陣列,陣列的元素是儲存有鍵值對的子陣列。
遍歷返回的鍵值對的順序與使用for in語句返回的順序規則相同。
關於這個順序規則在JavaScript Object.values()一章節有介紹。
語法結構:
[JavaScript] 純文字檢視 複製程式碼Object.entries(obj)
引數解析:
(1).obj:必需,被返回可列舉鍵值對的物件。
瀏覽器相容:
(1).IE瀏覽器不支援此方法。
(2).Edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器不支援此方法。
(6).safria瀏覽器支援此方法。
此方法是ES2017新增。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼let web={ webName:"螞蟻部落", age:6, address:"青島市南區" } console.log(Object.entries(web));
程式碼執行效果截圖如下:
可以看到Object.entries方法的返回值是一個陣列,它的元素也是一個陣列。
每一個子陣列具有兩個元素,分別是指定物件的屬性名稱和屬性值,也就是鍵值對。
再來看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼let web={ webName:"螞蟻部落", age:6, address:"青島市南區" } Object.defineProperty(Antzone, "url", { value: "http://www.softwhy.com", enumerable: false }); console.log(Object.entries(web));
程式碼執行效果截圖如下:
由於url屬性是不可列舉的,所以Object.entries方法無法獲取到。
[JavaScript] 純文字檢視 複製程式碼let web={ webName:"螞蟻部落", age:6, address:"青島市南區" } Object.prototype.codeTest="ES2015"; console.log(web);
上述程式碼在原型鏈上為物件新增一個codeTest屬性,屬性值為"ES2015"。
程式碼執行效果截圖如下:
現在對web物件應用Object.entries方法,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼let web={ webName:"螞蟻部落", age:6, address:"青島市南區" } Object.prototype.codeTest="ES2015"; console.log(Object.entries(web));
程式碼執行效果截圖如下:
有上圖可見,Object.entries方法對於原型鏈上繼承的非自有屬性無能為力。
相關文章
- ES7 Object.keys,Object.values,Object.entriesObject
- JavaScript高階:JavaScript物件導向,JavaScript內建物件,JavaScript BOM,JavaScript封裝JavaScript物件封裝
- javaScript系列[06]-javaScript和thisJavaScript
- 【JavaScript學習】JavaScript物件建立JavaScript物件
- 【轉】eval()函式(javascript) - [javaScript]函式JavaScript
- [Javascript] How javascript read the property?JavaScript
- JavaScript -"this"JavaScript
- javascript ??JavaScript
- This in JavaScriptJavaScript
- “This” is For JavaScriptJavaScript
- javascript thisJavaScript
- JavaScriptJavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- 【轉向JavaScript系列】AST in Modern JavaScriptJavaScriptAST
- javascript,還是javascript的問題JavaScript
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- 《深入理解JavaScript》——2.3 JavaScript有用嗎JavaScript
- 【JavaScript】--JavaScript總結一覽無餘JavaScript
- 【HTML、JAVASCRIPT、CSS】3、Javascript基本概念HTMLJavaScriptCSS
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- JavaScript EventJavaScript
- JavaScript BackdoorJavaScript
- JavaScript normalize()JavaScriptORM
- JavaScript setDate()JavaScript
- JavaScript setMinutes()JavaScript
- JavaScript getDate()JavaScript
- JavaScript setHours()JavaScript
- JavaScript setUTCMinutes()JavaScript
- JavaScript setUTCHours()JavaScript
- JavaScript setUTCFullYear()JavaScript
- JavaScript setUTCMonth()JavaScript
- JavaScript setUTCDate()JavaScript
- JavaScript getUTCMinutes()JavaScript
- JavaScript setMonth()JavaScript
- JavaScript getMonth()JavaScript
- JavaScript getMinutes()JavaScript
- JavaScript getYear()JavaScript