前几天项目上想用map集合一样的东西,简单拿对象拼了一下子,今天闲的慌实现一下
大家不要见笑
代码
var Map = function (){ /************基础变量**************/ var hashmap = {}; var keys = []; var vals = []; var entrys = []; var size = 0; var index = {}; var Entry = function(key,value){ var entryKey = key; var entryValue = value; this.getKey = function (){ return entryKey; }; this.getValue = function(){ return entryValue; }; }; /************基本方法 按字母排序**************/ this.clear = function(key) { hashmap[key] = undefined; var i = index[key]; entrys.splice(i,1); vals.splice(i,1); keys.splice(i,1); size --; }; this.entrySet = function() { return entrys; }; this.get = function(key){ return hashmap[key]; }; this.isEmpty = function() { if(hashmap) return true; return false; }; this.keySet = function() { return keys; }; this.put = function(key,value){ if(!this.get(key)){ entrys.push(new Entry(key,value)); keys.push(key); vals.push(value); index[key] = size; size ++; } else { var i = index[key]; entrys[i] = new Entry(key,value); vals[i] = value; } hashmap[key] = value; }; this.size = function() { return size; }; this.values = function() { return vals; }; }; /************扩展方法**************/ Map.prototype = { containsKey : function(key) { if(this.get(key)) return true; return false; }, putAll : function(set) { for(var e in set){ if(set[e]){ this.put(e,set[e]); } } }, remove : function(key) { var v = this.get(key); this.clear(key); return v; } }; var h = new Map(); h.put('a',10); h.put('b',11); h.put('c',3); h.put('d',5); console.info(h.size()); h.clear('a'); console.info(h.containsKey('a')); console.info(h.containsKey('b')); console.info(h.size()); console.log(h.entrySet()); console.log(h.keySet()); console.log(h.values()); for(var i in h.entrySet()){ var obj = h.entrySet()[i]; console.log(obj.getKey() + ":" + obj.getValue()); }
以上所述就是本文的全部内容了,希望大家能够喜欢。
本文向大家介绍js遍历map javaScript遍历map的简单实现,包括了js遍历map javaScript遍历map的简单实现的使用技巧和注意事项,需要的朋友参考一下 js遍历map javaScript遍历map的简单实现 这样会把map给遍历掉,显示在浏览器上的控制器里。 以上这篇js遍历map javaScript遍历map的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参
本文向大家介绍JavaScript实现Java中Map容器的方法,包括了JavaScript实现Java中Map容器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript实现Java中Map容器的方法。分享给大家供大家参考,具体如下: 声明一下,JavaScript和Java的区别就像雷锋和雷峰塔的区别. 在Java中,Map是一种集合,用来存储Key-Value键值对
Go中的map在底层是用哈希表实现的,你可以在 $GOROOT/src/pkg/runtime/hashmap.goc 找到它的实现。 数据结构 哈希表的数据结构中一些关键的域如下所示: struct Hmap { uint8 B; // 可以容纳2^B个项 uint16 bucketsize; // 每个桶的大小 byte *buckets; // 2^B个Buc
Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键(key)对象和一个值(value)对象。 用于保存具有映射关系的数据。 Map 集合里保存着两组值,一组值用于保存 Map 里的 key,另外一组值用于保存 Map 里的 value, key 和 value 都可以是任何引用类型的数据。Map 的 key 不允许重复,value 可以重复,即同一个 Map
概述 Map 集合是无序的 key-value 数据结构。 Map 集合中的 key / value 可以是任意类型,但所有的 key 必须属于同一数据类型,所有的 value 必须属于同一数据类型,key 和 value 的数据类型可以不相同。 声明 Map //demo_14.go package main import ( "fmt" ) func main() { va
我有这样的代码: 如何实现该列表是按排序的?