Javascript之數據結構與算法的Dictionary實現
1.自實現Dictionary
class Dictionary{
constructor(){
this.items={}
}
has(key){
return key in this.items;
}
set(key,value){
this.items[key]=value;
}
delete(key){
if(this.has(key)){
delete this.items[key];
return true;
}
return false;
}
get(key){
return this.has(key) ? this.items[key]:undefined;
}
values(){
var values=[];
for(let k in this.items){
if(this.has(k)){
values.push(this.items[k]);
}
}
return values;
}
keys(){
return Object.keys(this.items);
}
getItems(){
return this.items;
}
clear(){
this.items={};
}
size(){
return Object.keys(this.items).length;
}
}
let dictionary=new Dictionary();
dictionary.set('john','[email protected]');
console.log(dictionary.has('john'));
console.log(dictionary.size());
console.log(dictionary.keys())
console.log(dictionary.values())
console.log(dictionary.get('john'))
console.log(dictionary.getItems())