JS 实现Map

	function Map() {
		this.arr = new Array();
		var struct = function(key, value) {
				this.key = key;
				this.value = value;
	    };
		this.put = function(key, value){
		      for (var i = 0; i < this.arr.length; i++) {
		          if ( this.arr[i].key === key ) {
		         		 this.arr[i].value = value;
		          		return;
		           }
		      }
		   this.arr[this.arr.length] = new struct(key, value);
		};
		this.get = function(key) {
		   for (var i = 0; i < this.arr.length; i++) {
		      if ( this.arr[i].key === key ) {
		           return this.arr[i].value;
		  		}
		 	}
		  return null;
		 };
		 this.values=function(){
		    var value=[]
		   for (var i = 0; i < this.arr.length; i++) {
		      value.push(this.arr[i].value);
		   }
		   return value.join(",");
		 };
		 this.remove = function(key) {
		   var v;
		   for (var i = 0; i < this.arr.length; i++) {
		      v = this.arr.pop();
		      if ( v.key === key ) {
		       continue;
		   }
		   this.arr.unshift(v);
		  }
		 };
		 this.size = function() {
		  return this.arr.length;
		 };
		 this.isEmpty = function() {
		     return this.arr.length <= 0;
		 };
	}
	var map = new Map();
	map.put("a","aaaaaaaaaaaaaaa");
	map.put("b","bbbbbbbbbbb");
	map.put("c","cccccccccccccc");
	map.remove("b");
	console.info(map.values());

时间: 2024-10-05 22:42:42

JS 实现Map的相关文章

&lt;&lt;&lt; Js对map的操作

var map = {}; // 赋值 var key = "key1"; var value = "value1"; map[key] = value; // 取值 alert(map[key]); if("key1" in map) { //判断是否存在 alert("OK"); } // 删除 delete map["key1"]; // 遍历 for(key in map){ console(key

js自定义Map

function Map() {    this.elements = new Array(); //得到map的大小    this.size = function() {        return this.elements.length;    } //判断是否为空    this.isEmpty = function() {        return (this.elements.length < 1);    }    //清空    this.clear = function()

js Array Map and Set

Array slice slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array: var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G']; arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C'] arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G'] Note:slice()的起止参数包括开始索

js创建map

function Map() { var struct = function(key, value) { this.key = key; this.value = value; } var put = function(key, value){ for (var i = 0; i < this.arr.length; i++) { if ( this.arr[i].key === key ) { this.arr[i].value = value; return; } } this.arr[th

js 构建map 和list

//构建map function Map() { this.arr = new Array(); var struct = function(key, value) { this.key = key; this.value = value; }; this.keySet = function() { var arrKeys = new Array(); for(var i = 0; i < this.arr.length; i++) { arrKeys.push(this.arr[i].key)

js获取Map集合里的key和value

js中获取Map集合的key和value 遍历Map集合获得所有的key和value

js中map和python中的map

js 中的map: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

廖雪峰教程笔记:js中map和reduce的用法

举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个数组[1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map实现如下: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4,

js中 map 遍历数组

map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组.注意,这个方法不会改变原始数组. 在我们的例子中,回调函数只有一个参数,即数组中元素的值 (val 参数) ,但其实,你的回调函数也可以支持多个参数,譬如:元素的索引index.原始数组arr. 例子:使用 map 方法来为 oldArray 中的每一项增加3,并且在 newArray 中保存它们. oldArray 不应该被改变. var oldArray = [1,2,3,4,5]; var newAr

js 中 Map/Set 集合

Map Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: 1 var names = ['Michael', 'Bob', 'Tracy']; 2 var scores = [95, 75, 85]; 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长. 如果用Map实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论