zoukankan      html  css  js  c++  java
  • 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());
    

  • 相关阅读:
    原型prototype
    this
    作用域、闭包、模块
    嵌入式面试资料
    一些嵌入式面试题目的集锦
    优先级反转
    struct和union的区别
    (转)typedef和#define的用法与区别
    const 和 #define区别
    白话经典算法系列之 快速排序 快速搞定
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4514306.html
Copyright © 2011-2022 走看看