﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-在代码的海洋中,用心才会赢.....-随笔分类-js/ajax</title><link>http://www.blogjava.net/jsdk999/category/17767.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:16:32 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:16:32 GMT</pubDate><ttl>60</ttl><item><title>用JS实现的MAP类</title><link>http://www.blogjava.net/jsdk999/archive/2006/12/01/84897.html</link><dc:creator>WindDC</dc:creator><author>WindDC</author><pubDate>Fri, 01 Dec 2006 09:24:00 GMT</pubDate><guid>http://www.blogjava.net/jsdk999/archive/2006/12/01/84897.html</guid><wfw:comment>http://www.blogjava.net/jsdk999/comments/84897.html</wfw:comment><comments>http://www.blogjava.net/jsdk999/archive/2006/12/01/84897.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/jsdk999/comments/commentRss/84897.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jsdk999/services/trackbacks/84897.html</trackback:ping><description><![CDATA[
		<p>本程序用JS写的一个类拟于JAVA中MAP类,可以对键值对进行维护.<br /><br /><br />/*<br />name:    Map.js<br />author:  WindDC<br />date:    2006-10-27<br />content: 本程序用JS实现类拟JAVA中MAP对像的功能<br />*/</p>
		<p>function Node(key,value){//键值对对象<br />    this.key=key;<br />    this.value=value;<br />}</p>
		<p>function Map(){//Map类<br />    this.nodes=new Array();<br />}</p>
		<p>Map.prototype.put=function(key,value){//往容器中加入一个键值对<br />        for(var i=0;i&lt;this.nodes.length;i++)<br />           if(this.nodes[i].key==key){//如果键值已存在，则put方法为更新已有数据<br />               this.nodes[i].value=value;<br />               return;<br />           }<br />        var node=new Node(key,value);<br />        this.nodes.push(node);<br />        return;<br />}//put</p>
		<p>   <br />Map.prototype.get=function(key){//获取指定键的值<br />        for(var i=0;i&lt;this.nodes.length;i++)<br />           if(this.nodes[i].key==key)<br />              return this.nodes[i].value;<br />        return null;<br />}//get<br />     <br />Map.prototype.size=function(){//获取容器中对象的个数<br />     return this.nodes.length;<br />}//size</p>
		<p>         <br />Map.prototype.clear=function(){//清空容器<br />     while(this.nodes.length&gt;0)<br />        this.nodes.pop();      <br />}//clear<br /> <br />Map.prototype.remove=function(key){//删除指定值<br />     for(var i=0;i&lt;this.nodes.length;i++)<br />        if(this.nodes[i].key==key){<br />           if(i&gt;0)<br />              var nodes1=this.nodes.concat(this.nodes.slice(0,i-1),this.nodes.slice(i+1));<br />           else//删除的是第一个元素<br />             var nodes1=nodes.slice(1);<br />           this.nodes=nodes1;</p>
		<p>        }<br />}//remove<br /><br />    <br />Map.prototype.isEmpty=function(){//是否为空<br />     if(this.nodes.length==0)<br />       return true;<br />     else<br />       return false;<br />}//isEmpty<br />    <br />Map.prototype.toString=function(){<br />     var str="[";<br />     for(var i=0;i&lt;this.nodes.length;i++){<br />        if(i&lt;this.nodes.length-1)<br />           str=str+this.nodes[i].key+",";<br />       else<br />           str=str+this.nodes[i].key;    <br />    }<br />    str=str+"]";<br />    return str;<br />}</p>
<img src ="http://www.blogjava.net/jsdk999/aggbug/84897.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jsdk999/" target="_blank">WindDC</a> 2006-12-01 17:24 <a href="http://www.blogjava.net/jsdk999/archive/2006/12/01/84897.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>