android 字典 js,javaScript简单实现字典

JavaScript的字典通过Set进行了实现,关于Set的详情请看MDN文档。

以下是自己通过JavaScript简单的实现

function Set(){

// 函数中的私有变量

var items = {};

// 判断是否有某个属性,使用的是in方法(可以包括继承的属性),而不是使用的Object.hasOwnProperty()

this.has = function(key){

return key in items;

};

// 设置属性和值

this.set = function(key, value){

items[key] = value;

};

// 获取某个属性对应的值

this.get = function(key){

return this.has(key) ? items[key] : undefined;

};

// 删除某个属性,此时需要判断items中是否有这个属性,有就删除并返回true,没有返回false

this.remove = function(key){

if(this.has(key)){

delete items[key];

return true;

}

return false;

};

// 获取所有属性的值,返回的是一个数组

this.values = function(){

var values = [];

for (const key in items) {

// for in 循环会将items所继承的属性也遍历到,为了防止得到遍历的属性,加入如下判断进行过滤

if (this.has(key)) {

values.push(items[key])

}

}

return values;

};

// 获取所有的属性及其值

this.getItems = function(){

return items;

}

}

var dictionary = new Set();

dictionary.set('李四', 'lisi');

dictionary.set('王五', 'wangwu');

dictionary.get('王五') // "wangwu"

dictionary.get('李四') // "lisi"

dictionary.getItems() // {李四: "lisi", 王五: "wangwu"}

dictionary.values() // ["lisi", "wangwu"]

dictionary.remove('王五') // true

dictionary.values() // ["lisi"]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值