JavaScript Object.values()
Object.values方法返回儲存指定物件所有自有可列舉屬性值的陣列。
此方法遍歷屬性的順序與使用for in語句遍歷的順序相同。
規則如下:
(1).首先遍歷屬性名為數值的屬性,按照數字由小到大。
(2).再次遍歷屬性名為字串的屬性,按照定義時間由早到晚。
(3).最後遍歷屬性名為Symbol(ES2015新增)值的屬性,按照定義時間由早到晚。
特別說明:
(1).for in可以遍歷原型鏈上的屬性,Object.values不可以。
(2).屬性分為可列舉屬性和不可列舉屬性,下面做一下簡單介紹:
屬性是否可以被列舉,是由屬性自身的enumerable屬性所決定的,其實屬性也類似一個物件,具有些許特徵。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼let Antzone={ webName:"螞蟻部落", age:6 } Object.defineProperty(Antzone, "url", { value: "http://www.softwhy.com", enumerable: false });
為物件Antzone物件新增一個url屬性,並且規定其為不可列舉,enumerable屬性值為false。
ES2017新增Object.values方法。
語法結構:
[JavaScript] 純文字檢視 複製程式碼Object.values(obj)
引數解析:
(1).obj:必需,被返回可列舉屬性值的物件。
瀏覽器相容:
(1).IE瀏覽器不支援此方法。
(2). Edge瀏覽器支援此方法。
(3).谷歌瀏覽器支援此方法。
(4).火狐瀏覽器支援此方法。
(5).opera瀏覽器支援此方法。
(6).safria瀏覽器支援此方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼let Antzone={ webName:"螞蟻部落", age:6 } console.log(Object.values(Antzone));
谷歌控制檯程式碼執行效果截圖如下:
可以看到返回值是一個陣列,儲存的內容是可遍歷屬性的屬性值。
[JavaScript] 純文字檢視 複製程式碼let Antzone={ webName:"螞蟻部落", age:6 } Object.defineProperty(Antzone, "url", { value: "http://www.softwhy.com", enumerable: false }); console.log(Object.values(obj));
谷歌控制檯程式碼執行效果截圖如下:
由此可見,不可列舉的屬性,此方法是無能為力的。
相關文章
- 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