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] How javascript read the property?JavaScript
- javaScript系列[06]-javaScript和thisJavaScript
- javaScript系列[05]-javaScript和JSONJavaScriptJSON
- JavaScriptJavaScript
- JavaScript -"this"JavaScript
- javascript ??JavaScript
- “This” is For JavaScriptJavaScript
- This in JavaScriptJavaScript
- [Javascript] Understanding JavaScript Proxies with Symbol.toPrimitiveJavaScriptSymbolMIT
- 44 道 JavaScript 難題(JavaScript Puzzlers!)JavaScript
- [Javascript] Perform Set Operations using JavaScript Set MethodsJavaScriptORM
- JavaScript 教程之JavaScript常用框架簡介JavaScript框架
- [Javascript] ++operationJavaScript
- JavaScript用法JavaScript
- JavaScript 物件JavaScript物件
- [Javascript] isAsyncFunctionJavaScriptFunction
- [Javascript] isPromiseLikeJavaScriptPromise
- [Javascript] yield*JavaScript
- Promise in JavascriptPromiseJavaScript
- Javascript HookJavaScriptHook
- JavaScript LetJavaScript
- JavaScript ConstJavaScript
- JavaScript insertAdjacentHTML()JavaScriptHTML
- JavaScript matches()JavaScript
- JavaScript contains()JavaScriptAI
- JavaScript getFullYear()JavaScript
- JavaScript setFullYear()JavaScript
- JavaScript setTime()JavaScript
- JavaScript setSeconds()JavaScript
- JavaScript setMinutes()JavaScript
- JavaScript getDate()JavaScript
- JavaScript setHours()JavaScript
- JavaScript setDate()JavaScript
- JavaScript toUTCString()JavaScript
- JavaScript toGMTString()JavaScript
- JavaScript toDateString()JavaScript