摘要:返回值給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組。描述返回一個(gè)數(shù)組,其元素是與直接在上找到的可枚舉屬性鍵值對(duì)相對(duì)應(yīng)的數(shù)組。屬性的順序與通過(guò)手動(dòng)循環(huán)對(duì)象的屬性值所給出的順序相同。借助方法你可以很容易的將轉(zhuǎn)換為你可以使用下面列出的簡(jiǎn)易。
Object.entries()
Object.entries()方法返回一個(gè)給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組,其排列與使用 for...in 循環(huán)遍歷該對(duì)象時(shí)返回的順序一致(區(qū)別在于 for-in 循環(huán)也枚舉原型鏈中的屬性)。
語(yǔ)法Object.entries(obj)參數(shù)
obj
可以返回其可枚舉屬性的鍵值對(duì)的對(duì)象。
給定對(duì)象自身可枚舉屬性的鍵值對(duì)數(shù)組。
描述Object.entries()返回一個(gè)數(shù)組,其元素是與直接在object上找到的可枚舉屬性鍵值對(duì)相對(duì)應(yīng)的數(shù)組。屬性的順序與通過(guò)手動(dòng)循環(huán)對(duì)象的屬性值所給出的順序相同。
示例const obj = { foo: "bar", baz: 42 }; console.log(Object.entries(obj)); // [ ["foo", "bar"], ["baz", 42] ] // array like object const obj = { 0: "a", 1: "b", 2: "c" }; console.log(Object.entries(obj)); // [ ["0", "a"], ["1", "b"], ["2", "c"] ] // array like object with random key ordering const anObj = { 100: "a", 2: "b", 7: "c" }; console.log(Object.entries(anObj)); // [ ["2", "b"], ["7", "c"], ["100", "a"] ] // getFoo is property which isn"t enumerable const myObj = Object.create({}, { getFoo: { value() { return this.foo; } } }); myObj.foo = "bar"; console.log(Object.entries(myObj)); // [ ["foo", "bar"] ] // non-object argument will be coerced to an object console.log(Object.entries("foo")); // [ ["0", "f"], ["1", "o"], ["2", "o"] ] // iterate through key-value gracefully const obj = { a: 5, b: 7, c: 9 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" } // Or, using array extras Object.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" });將Object轉(zhuǎn)換為Map
new Map() 構(gòu)造函數(shù)接受一個(gè)可迭代的entries。借助Object.entries方法你可以很容易的將Object轉(zhuǎn)換為Map:
var obj = { foo: "bar", baz: 42 }; var map = new Map(Object.entries(obj)); console.log(map); // Map { foo: "bar", baz: 42 }Polyfill
你可以使用下面列出的簡(jiǎn)易 polyfill。
if (!Object.entries) Object.entries = function( obj ){ var ownProps = Object.keys( obj ), i = ownProps.length, resArray = new Array(i); // preallocate the Array while (i--) resArray[i] = [ownProps[i], obj[ownProps[i]]]; return resArray; };
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89163.html
摘要:定期召開(kāi)會(huì)議,會(huì)議由會(huì)員公司的代表與特邀專家出席。新版本將會(huì)包含每年截止時(shí)間之前完成的所有特性。它引入了一個(gè)新的構(gòu)造函數(shù)和具有輔助函數(shù)的命名空間對(duì)象。 導(dǎo)言:ECMAScript的演化不會(huì)停止,但是我們完全沒(méi)必要害怕。除了ES6這個(gè)史無(wú)前例的版本帶來(lái)了海量的信息和知識(shí)點(diǎn)以外,之后每年一發(fā)的版本都僅僅帶有少量的增量更新,一年更新的東西花半個(gè)小時(shí)就能搞懂了,完全沒(méi)必要畏懼。本文將帶您花大約...
摘要:中的所有對(duì)象都來(lái)自父的構(gòu)造函數(shù)。不同于數(shù)組的原型方法例如和只能被數(shù)組實(shí)例使用,對(duì)象方法直接來(lái)自構(gòu)造函數(shù),并使用對(duì)象實(shí)例作為參數(shù)。這稱為靜態(tài)方法。創(chuàng)建對(duì)象的鍵值對(duì)的嵌套數(shù)組。可用于確定對(duì)象是否已凍結(jié),并返回布爾值。 原文:How To Use Object Methods in JavaScript作者:Tania Rascia譯者:博軒 介紹 JavaScript 中,對(duì)象是 鍵/值 ...
摘要:數(shù)據(jù)的層級(jí)意味著迭代數(shù)據(jù)結(jié)構(gòu)并提取它的數(shù)據(jù)。對(duì)于技術(shù)人而言技是單兵作戰(zhàn)能力,術(shù)則是運(yùn)用能力的方法。在前端娛樂(lè)圈,我想成為一名出色的人民藝術(shù)家。 聊聊 for of 說(shuō)起 for of 相信每個(gè)寫過(guò) JavaScript 的人都用過(guò) for of ,平時(shí)我們用它做什么呢?大多數(shù)情況應(yīng)該就是遍歷數(shù)組了,當(dāng)然,更多時(shí)候,我們也會(huì)用 map() 或者 filer() 來(lái)遍歷一個(gè)數(shù)組。 但是就...
摘要:中雙感嘆號(hào)的作用一般用于將后面的表達(dá)式強(qiáng)制轉(zhuǎn)化為布爾類型。通過(guò)實(shí)現(xiàn)類式繼承繼承對(duì)象已經(jīng)原型對(duì)象屬性父類父類的方法子類調(diào)用父類的構(gòu)造函數(shù)。 js基礎(chǔ)對(duì)象屬性方法 Object.keys() Object.keys()方法會(huì)返回一個(gè)由一個(gè)給定對(duì)象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和使用 for...in 循環(huán)遍歷改對(duì)象時(shí)返回的順序一致(兩者的主要區(qū)別是一個(gè)for-in 循環(huán)...
摘要:定義變量常量中新增加了和兩個(gè)命令,用于定義變量,用于定義常量。 定義變量/常量 ES6 中新增加了 let 和 const 兩個(gè)命令,let 用于定義變量,const 用于定義常量。兩個(gè)命令與原有的 var 命令所不同的地方在于,let, const 都是塊級(jí)作用域,其有效范圍僅在代碼塊中,實(shí)例如下: //es5 if(1 == 1){ var b = foo; } conso...
閱讀 1449·2021-11-17 09:33
閱讀 3041·2021-10-13 09:39
閱讀 2713·2021-10-09 10:01
閱讀 2457·2021-09-29 09:35
閱讀 3912·2021-09-26 10:01
閱讀 3532·2019-08-26 18:37
閱讀 3160·2019-08-26 13:46
閱讀 1923·2019-08-26 13:39