hash table html,javascript 哈希表(hashtable)的简单实现
首先简单的介绍关于属性的一些方法:
属性的枚举:
for/in循环是遍历对象属性的方法。如
var obj = {
name : 'obj1',
age : 20,
height : '176cm'
}
var str = '';
for(var name in obj)
{
str += name + ':' + obj[name] + '\n';
}
alert(str);
输出为:name:obj1
age:20
height:176cm
检查属性是否存在:
in运算符可以用来测试一个属性是否存在。
this.containsKey = function ( key )
{
return (key in entry);
}
删除属性
使用delete运算符来删除一个对象的属性。使用delete删除的属性,for/in将不会枚举该属性,并且in运算符也不会检测到该属性。
delete entry[key];
delete obj.name;
下面是哈希表(hashtable)的js的实现方法:
function HashTable()
{
var size = 0;
var entry = new Object();
this.add = function (key , value)
{
if(!this.containsKey(key))
{
size ++ ;
}
entry[key] = value;
}
this.getValue = function (key)
{
return this.containsKey(key) ? entry[key] : null;
}
this.remove = function ( key )
{
if( this.containsKey(key) && ( delete entry[key] ) )
{
size --;
}
}
this.containsKey = function ( key )
{
return (key in entry);
}
this.containsValue = function ( value )
{
for(var prop in entry)
{
if(entry[prop] == value)
{
return true;
}
}
return false;
}
this.getValues = function ()
{
var values = new Array();
for(var prop in entry)
{
values.push(entry[prop]);
}
return values;
}
this.getKeys = function ()
{
var keys = new Array();
for(var prop in entry)
{
keys.push(prop);
}
return keys;
}
this.getSize = function ()
{
return size;
}
this.clear = function ()
{
size = 0;
entry = new Object();
}
}
测试:
代码
HashTable
function MyObject(name)
{
this.name = name;
this.toString = function(){
return this.name;
}
}
$(function(){
var map = new HashTable();
map.add("A","1");
map.add("B","2");
map.add("A","5");
map.add("C","3");
map.add("A","4");
var arrayKey = new Array("1","2","3","4");
var arrayValue = new Array("A","B","C","D");
map.add(arrayKey,arrayValue);
var value = map.getValue(arrayKey);
var object1 = new MyObject("小4");
var object2 = new MyObject("小5");
map.add(object1,"小4");
map.add(object2,"小5");
$('#console').html(map.getKeys().join('|') + '
');
})
javascript hashtable实现代码
https://www.jb51.net/article/20372.htm
hash table html,javascript 哈希表(hashtable)的简单实现相关推荐
- DHT(Distributed Hash Table,分布式哈希表)
DHT(Distributed Hash Table,分布式哈希表)类似Tracker的根据种子特征码返回种子信息的网络. DHT全称叫分布式哈希表(Distributed Hash Table),是 ...
- JavaScript数据结构——散列表(Hash table,也叫哈希表)
概念和结构 散列表是根据关键码值(Key value)而直接进行访问的数据结构. 若关键字为k,则其值存放在f(k)的存储位置上.由此,不需比较便可直接取得所查记录.称这个对应关系f为散列函数,按这个 ...
- [CareerCup] 8.10 Implement a Hash Table 实现一个哈希表
8.10 Design and implement a hash table which uses chaining (linked lists) to handle collisions. 这道题让 ...
- 数据结构——散列表(Hash Table)(哈希表)
散列表 散列表英文是hash table,经常被叫做Hash表,或者哈希表. 哈希表其实就是由数组演化而来的,利用的就是数组支持按照下标随机访问数据的特性,可以说散列表就是数组的一种扩展. 百度文库对 ...
- 【代码随想录 | day06】(JavaScript) 哈希表理论基础以及相关算法题
哈希表理论基础 242.有效的字母异位词 349.两个数组的交集 202.快乐数 两数之和 哈希表理论基础 要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map ...
- 哈希表(hashtable)的javascript简单实现
javascript中没有像c#,java那样的哈希表(hashtable)的实现.在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的 ...
- C#中哈希表(HashTable)的用法详解
1. 哈希表(HashTable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对, ...
- 在C#中应用哈希表(Hashtable)
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其 ...
- 哈希表 Hashtable c# 1613537346
哈希表 Hashtable c# 1613537346 使用命名空间 using System.Collections; 实例化得到对象 Hashtable 对象 = new Hashtable(); ...
最新文章
- MFC控件编程之复选框单选框分组框
- Forefront_TMG_2010-TMG建立站点间***
- “趣冷淡”怎么看?网络电话寻求共同语言
- Forrester:全球供应商在中国处于领导地位 但本土供应商却在私有云市场蒸蒸日上...
- android如何实现开机自动启动Service或app
- 127 - Accordian Patience
- 苏宁MOCK测试桩服务建设实践
- 2019递归实现字符串的逆序存储(C++)
- 百度阿里腾讯杀入语音识别,这家公司靠什么对抗巨头
- WWW'22 | 信息检索方向值得一读的3篇论文详解
- Python输出异常信息(行号)
- S变换介绍(附代码)
- 3000字神经网络论文
- 数据结构导论 — (自考)
- 层叠上下文、层叠层级、层叠顺序
- 日常问题解决之JAVA标签打印设置纸张大小
- 【推荐】技术面试结束后,如何向技术面试官提问?
- 浅析软文标题写作的三个问题
- WiFi探针获取的伪MAC地址是什么?
- 另一个视角看春节红包大战,为什么说智能云是百度第二增长引擎