摘要:遍歷對(duì)象的鍵的所有方法預(yù)定義如下對(duì)象在上定義個(gè)不可枚舉的屬性方法用于遍歷自身和原型對(duì)象的可枚舉的屬性輸出方法用于返回對(duì)象自身的所有可枚舉屬性輸出方法用于返回對(duì)象所有屬性,包含可枚舉屬性和不可枚舉屬性,不包含屬性輸出方法用于返回對(duì)象所有屬性,
遍歷對(duì)象的鍵的所有方法
預(yù)定義如下對(duì)象:
Object.prototype.parentKey = "pValue"; Object.prototype.parentFun = function(){}; let obj = { mykey: "value", myFun: function(){}, [Symbol()]:"symbolValue" } // 在obj上定義2個(gè)不可枚舉的屬性 Object.defineProperty(obj, "myUnemurableKey", {value:"value22", enumerable:false}); Object.defineProperty(obj, "myUnenmurableFunc", {value:function(){}, enumrable:false});for ... in方法
用于遍歷自身和原型對(duì)象的可枚舉的屬性
for (let key in obj) { console.log(key) }
輸出:
mykey
myFun
parentKey
parentFun
用于返回對(duì)象自身的所有可枚舉屬性
Object.keys(obj)
輸出:
["mykey", "myFun"]
用于返回對(duì)象所有屬性,包含可枚舉屬性和不可枚舉屬性,不包含Symbol屬性
Object.getOwnPropertyNames(obj)
輸出:
["mykey", "myFun", "myUnemurableKey", "myUnenmurableFunc"]
用于返回對(duì)象所有屬性,包含可枚舉屬性和不可枚舉屬性,只包含Symbol屬性
Object.getOwnPropertySymbols(obj)
輸出:
[Symbol()]
用于返回對(duì)象所有屬性,包含可枚舉屬性和不可枚舉屬性,也包含Symbol屬性
Reflect.ownKeys(obj)
輸出:
["mykey", "myFun", "myUnemurableKey", "myUnenmurableFunc", Symbol()]
這個(gè)方法可以返回對(duì)象自身所有屬性的描述對(duì)象,包含key, value, writable, enumerable, configurable。
Object.getOwnPropertyDescriptors(obj)
輸出:
{ "mykey": { "value": "value", "writable": true, "enumerable": true, "configurable": true }, "myFun": { "writable": true, "enumerable": true, "configurable": true }, "myUnemurableKey": { "value": "value22", "writable": false, "enumerable": false, "configurable": false }, "myUnenmurableFunc": { "writable": false, "enumerable": false, "configurable": false } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/94376.html
摘要:事實(shí)上,不僅僅是數(shù)組,任何具有接口且每個(gè)成員都是一個(gè)雙元素的數(shù)組的數(shù)據(jù)結(jié)構(gòu)都可以當(dāng)做構(gòu)造函數(shù)的參數(shù)。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。轉(zhuǎn)為轉(zhuǎn)為,正常情況下,所有鍵名都是字符串。 Map JavaScript 的對(duì)象(Object),本質(zhì)上是鍵值對(duì)的集合(Hash 結(jié)構(gòu)),但是傳統(tǒng)上只能用字符串當(dāng)作鍵。這給它的使用帶來(lái)了很大的限制。為了解決這個(gè)問(wèn)題,ES6 提...
摘要:中模擬與長(zhǎng)久以來(lái),數(shù)組一直是中唯一的集合類(lèi)型。用數(shù)組初始化集合事實(shí)上,只要是可迭代對(duì)象數(shù)組集合集合,都可以作為構(gòu)造函數(shù)的參數(shù)。構(gòu)造函數(shù)通過(guò)迭代器從參數(shù)中提取值。 ES5中模擬Set與Map 長(zhǎng)久以來(lái),數(shù)組一直是JavaScript中唯一的集合類(lèi)型。如果開(kāi)發(fā)者們需要使用非數(shù)值型索引,就會(huì)用非數(shù)組對(duì)象創(chuàng)建所需的數(shù)據(jù)結(jié)構(gòu),而這就是Set集合與Map集合的早期實(shí)現(xiàn)。 一般來(lái)說(shuō),Set集合常被用...
摘要:返回一個(gè)布爾值,表示該值是否為的成員。清除所有成員,沒(méi)有返回值。該數(shù)組中的每一項(xiàng)也必須是數(shù)組,內(nèi)部數(shù)組的首個(gè)項(xiàng)會(huì)作為鍵,第二項(xiàng)則為對(duì)應(yīng)值。返回所有成員的遍歷器需要特別注意的是,的遍歷順序就是插入順序。 Js大部分歷史時(shí)期都只存在一種集合類(lèi)型,也就是數(shù)組類(lèi)型。數(shù)組在 JS 中的使用正如其他語(yǔ)言的數(shù)組一樣,但缺少更多類(lèi)型的集合導(dǎo)致數(shù)組也經(jīng)常被當(dāng)作隊(duì)列與棧來(lái)使用。數(shù)組只使用了數(shù)值型的索引,而...
摘要:我對(duì)數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)最近在上做了一道題目,嗯,我這個(gè)渣渣沒(méi)有做出來(lái),然后看了別人的解決方案,是時(shí)候?qū)W習(xí)一下的了。。。。。讀取對(duì)應(yīng)的鍵值,如果找不到返回鍵是函數(shù)返回一個(gè)布爾值,表示某個(gè)鍵是否在數(shù)據(jù)結(jié)構(gòu)中。 我對(duì)ES6數(shù)據(jù)結(jié)構(gòu)Map的學(xué)習(xí) 最近在CodeWars上做了一道題目,嗯,我這個(gè)渣渣沒(méi)有做出來(lái),然后看了別人的解決方案,Map??? 是時(shí)候?qū)W習(xí)一下ES6的Map了。。。。。 以下是原題...
摘要:本身是一個(gè)構(gòu)造函數(shù),用來(lái)生成數(shù)據(jù)結(jié)構(gòu)。該數(shù)組的成員是一個(gè)個(gè)表示鍵值對(duì)的數(shù)組。張三張三事實(shí)上,不僅僅是數(shù)組,任何具有接口每個(gè)成員都是一個(gè)雙元素的數(shù)組的數(shù)據(jù)結(jié)構(gòu)都剋以當(dāng)作構(gòu)造函數(shù)的參數(shù)。實(shí)例的屬性和操作方法屬性屬性返回結(jié)構(gòu)的成員總數(shù)。 ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set,它類(lèi)似與數(shù)組,但是成員值都是唯一的,沒(méi)有重復(fù)的值。 Set本身是一個(gè)構(gòu)造函數(shù),用來(lái)生成Set數(shù)據(jù)結(jié)構(gòu)。 const s = ...
閱讀 2748·2021-11-18 10:02
閱讀 3480·2021-09-28 09:35
閱讀 2720·2021-09-22 15:12
閱讀 815·2021-09-22 15:08
閱讀 3362·2021-09-07 09:58
閱讀 3535·2021-08-23 09:42
閱讀 793·2019-08-30 12:53
閱讀 2150·2019-08-29 13:51