js 获取字典的key_JS-字典

function Dictionary() {

//    字典属性

this.items = {}

//    字典操作方法

//    1.在字典中添加键值对--set方法

Dictionary.prototype.set = (key,value)=>

{

this.items[key]=value

}

//    2.判断字典中是否有某个key

Dictionary.prototype.has=(key)=>{

return this.items.hasOwnProperty(key)

}

//    3.从字典中移除元素

Dictionary.prototype.remove=(key)=>{

//1.判断这个字典中是否有key

if (!this.has(key))return false

//2.从字典中删除key

delete this.items[key]

return true

}

//    4.根据key获取value

Dictionary.prototype.get=(key)=>{

return this.has?this.items[key]:undefined

}

//    5.获取所有的keys

Dictionary.prototype.keys=()=>{

return Object.keys(this.items)

}

//    6.size方法

Dictionary.prototype.size=()=>{

return this.keys().length

}

//    clear方法

Dictionary.prototype.clear=()=>{

this.items={}

}

}

在 JavaScript 中,有多种方法可以获取对象键的个数。 ### 使用 `Object.keys()` 方法 `Object.keys()` 方法会返回一个由给定对象的所有可枚举属性组成的数组,数组中元素的数量就是对象键的个数。可以通过获取该数组的长度来得到对象键的数量,示例代码如下: ```javascript const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyCount = Object.keys(obj).length; console.log(keyCount); ``` 在上述代码中,`Object.keys(obj)` 返回一个包含对象 `obj` 所有键的数组,然后通过 `.length` 属性获取该数组的长度,即对象键的个数。 ### 使用 `for...in` 循环 `for...in` 循环可以遍历对象的可枚举属性,通过在循环中计数,可以得到对象键的个数,示例代码如下: ```javascript const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; let count = 0; for (let key in obj) { if (obj.hasOwnProperty(key)) { count++; } } console.log(count); ``` 在上述代码中,`for...in` 循环遍历对象 `obj` 的所有可枚举属性,`hasOwnProperty()` 方法用于确保只统计对象自身的属性,而不包括原型链上的属性。每遍历一个属性,计数器 `count` 就加 1。 ### 使用 `Reflect.ownKeys()` 方法 `Reflect.ownKeys()` 方法返回一个由指定对象的所有自身属性的键组成的数组,同样可以通过获取该数组的长度来得到对象键的数量,示例代码如下: ```javascript const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyCount = Reflect.ownKeys(obj).length; console.log(keyCount); ``` 在上述代码中,`Reflect.ownKeys(obj)` 返回一个包含对象 `obj` 所有自身属性键的数组,然后通过 `.length` 属性获取该数组的长度,即对象键的个数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值