JavaScript HashTable

function HashTable() {
	var loseHashCode = function(key) {
		var hash = 0;
		for (var i = 0; i < key.length; i++) {
			hash += key.charCodeAt(i)
		}
		return hash % 37
	}
	var table = [];
	this.push = function(key, value) {
		var position = loseHashCode(key);
		console.log(position + ‘-‘ + key);
		table[position] = value
	}
	this.get = function(key) {
		return table[loseHashCode (key)]
	}
	this.remove = function(key) {
		table[loseHashCode (key)] = undefined
	}
}
var hash = new HashTable();
hash.push(‘shidengyun‘, ‘85‘);
hash.push(‘zhujing‘, 86);
hash.get(‘zhujing‘);
hash.remove(‘zhujing‘);

  

时间: 2024-10-09 20:17:50

JavaScript HashTable的相关文章

[设计模式] javascript 之 享元模式;

享元模式说明 定义:用于解决一个系统大量细粒度对象的共享问题: 关健词:分离跟共享: 说明: 享元模式分单纯(共享)享元模式,以及组合(不共享)享元模式,有共享跟不共享之分:单纯享元模式,只包含共享的状态,可共享状态是不可变,不可修改的,这是享元的内部状态:当然有外部状态就有外部状态,外部状态是可变的,不被共享,这个外部状态由客户端来管理,是可变化的:外部状态与内部状态是独立分开的,外部状态一般作为参数传入享元对象内,但不会影响内部状态的值:外部状态,一用用于获取共享的享元对象,或多或少与内部状

JavaScript 散列表(HashTable)

TypeScript方式实现源码 // 特性: // 散列算法的作用是尽可能快地在数据结构中找到一个值. 在之前的章节中, 你已经知道如果 // 要在数据结构中获得一个值(使用get方法) ,需要遍历整个数据结构来找到它.如果使用散列 // 函数,就知道值的具体位置,因此能够快速检索到该值.散列函数的作用是给定一个键值,然后 // 返回值在表中的地址 // ? put(key,value):向散列表增加一个新的项(也能更新散列表) // ? remove(key):根据键值从散列表中移除值 //

javascript why?

登陆 注册 热点问题 1827696 访问 2636 采纳 如何使用Python检查文件是否存在? python file filesystems 更新时间 2017-02-20 07:51:20 1646808 访问 2616 采纳 使用JavaScript更改元素的类 javascript html dom 更新时间 2017-02-19 02:55:14 1849571 访问 2613 采纳 在创建它们的函数中使用全局变量 python global-variables scope 更新时

《数据结构与算法-Javascript描述》

今年的上半年,项目原因大部分时间在写js,这期间把easyui,echarts,bootstrap都用了点皮毛,写的多了,自然也多了些感觉,不过仅局限于运用层面,于是决定再系统的看些javascript方面的书,强化运用能力,便有了这本~来自于国内知名公司前端工程师翻译自国外的书,见名知意用Javascript角度来讲数据结构和算法,一方面可以把javascript的基础知识加强,一方面加深数据结构以及算法的理解和应用. 全书篇幅不长,第一章简明扼要对javascript做了简单的介绍,基本语法

javascript 核心语言笔记 6 - 对象

对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(hashtable).「字典」(dictionary).「关联数组」(associative array).JavaScript 还可以从一个称为 原型 的对象继承属性 JavaScript 对象是动态的 -- 可以新增属性也可以删除属性,除了字符串.数字.布尔值.null 和 undefined 之

C#中的集合类——HashTable

HashTable 被称为键值对集合,类似于字典,根据key可以找到value 键值对对象[键]=值;键值对集合当中,键必须是唯一的,而值是可以重复的 1. HashTable的用法 //创建了一个键值对集合对象 Hashtable ht = new Hashtable(); ht.Add(1, "张三"); ht.Add(2, true); ht.Add(3, '男'); ht.Add(false, "错误的"); ht.Add(5, "张三"

深入学习JavaScript对象

JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始值或其他对象)聚合在一起,可通过属性名访问这些值.而属性名可以是包含空字符串在内的任意字符串.JavaScript对象也可以称作一种数据结构,正如我们经常听说的“散列(hash)”.“散列表(hashtable)”.“字典(dictionary)”.“关联数组(associative array)”

JavaScript performance killer

英文原文 https://github.com/petkaantonov/bluebird/wiki/Optimization-killers 这篇文档包含了如何避免使代码性能远低于预期的建议. 尤其是一些会导致 V8 (牵涉到 Node.js, Opera, Chromium 等) 无法优化相关函数的问题. 一些 V8 背景 在 V8 中并没有解释器, 但却有两个不同的编译器: 通用编译器和优化编译器. 这意味着你的 JavaScript 代码总是会被编译为机器码后直接运行. 这样一定很快咯?

c#和Javascript中去重总结

一.前言 去重在我们的开发过程中经常遇到,避免重复元素的添加,我们需要对获取到的集合(包括List.Array等) 做相关的过滤操作.确保对象的唯一性,从而达到保证数据不冗余重复.由于自己是做.net方面的开发,所以就拿C# 语言中常用的去重方式来学习.如果有其他更好的方式,希望各位大牛指出来,自己也学习学习,在此十分感谢! 二.C#一般性去重 static void Main(string[] args) { //1.集合的定义 List<int> listArr = new List<