欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript hashtable 修正版 下載

 更新時(shí)間:2010年12月30日 21:52:02   作者:  
javascript hashtable 修正版 hashtable hashset 下載,需要的朋友可以收藏下。
修正hashtableobj.set("length","0") bug
可以設(shè)置key忽略大小寫(xiě)
可以clone hashtable對(duì)象
可以 使用obj.valueOf("key","defalutvalue") 設(shè)置默認(rèn)值等等
歡迎修正bug
復(fù)制代碼 代碼如下:

<html>
<head>
<script type="text/javascript">
// Authors Birdshome, 麻袋@博客園 改版 phito,彭海濤
Object.prototype.Clone = function()
{
var objClone;
if ( this.constructor == Object ) objClone = new this.constructor();
else objClone = new this.constructor(this.valueOf());
for ( var key in this )
{
if ( objClone[key] != this[key] )
{
if ( typeof(this[key]) == 'object' )
{
objClone[key] = this[key].Clone();
}
else
{
objClone[key] = this[key];
}
}
}
objClone.toString = this.toString;
objClone.valueOf = this.valueOf;
return objClone;
}
function Hashtable() {
this.clear = hashtable_clear;
this.containsKey = hashtable_containsKey;
this.containsValue = hashtable_containsValue;
this.get = hashtable_get;
this.isEmpty = hashtable_isEmpty;
this.keys = hashtable_keys;
this.put = hashtable_put;
this.remove = hashtable_remove;
this.size = hashtable_size;
this.toString = hashtable_toString;
this.values = hashtable_values;
this.hashtable = new Object();
this.set = hashtable_set;
this.valueOf = hashtable_valueOf;
this.clone = hashtable_clone;
this.ignoreupperlower = true;
//是否忽略大小寫(xiě)
}
/*=======Private methods for internal use only========*/
function hashtable_clone(){
return this.Clone();
}
function hashtable_put(key, value) {
if (this.ignoreupperlower && typeof(key) == "string") {
key = key.toUpperCase();
}
if (key == null || value == null) {
throw "NullPointerException {" + key + "},{" + value + "}";
} else {
this.hashtable[key] = value;
}
}
function hashtable_set(key, value) {
if (this.ignoreupperlower && typeof(key) == "string") {
key = key.toUpperCase();
}
if (this.containsKey(key)) {
this.remove(key);
}
this.put(key, value);
}
function hashtable_get(key) {
if (this.ignoreupperlower && typeof(key) == "string") {
key = key.toUpperCase();
}
return this.hashtable[key];
}
function hashtable_valueOf(key, defvalue) {
var ret = this.get(key);
if (typeof(ret) == "undefined") {
return defvalue;
}
return ret;
}
function hashtable_remove(key) {
if (this.containsKey(key)) {
delete this.hashtable[key] ;
}
}
function hashtable_isEmpty() {
return (parseInt(this.size()) == 0) ? true: false;
}
function hashtable_size() {
var size = 0;
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
if (this.hashtable[i] != null) {
size++;
}
}
return size;
}
function hashtable_toString() {
var result = "";
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
if (this.hashtable[i] != null) {
result += "{" + i + ":" + this.hashtable[i] + "}\n";
}
}
return result;
}
function hashtable_clear() {
this.hashtable = new Object();
}
function hashtable_containsKey(key) {
if (this.ignoreupperlower && typeof(key) == "string") {
key = key.toUpperCase();
}
var exists = false;
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
if (i == key && this.hashtable[i] != null) {
exists = true;
break;
}
}
return exists;
}
function hashtable_containsValue(value) {
var contains = false;
if (value != null) {
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
if (this.hashtable[i] == value) {
contains = true;
break;
}
}
}
return contains;
}
function hashtable_values() {
var values = new Object();
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
if (this.hashtable[i] != null) values.push(this.hashtable[i]);
}
return values;
}
function hashtable_keys() {
var keys = new Object();
for (var i in this.hashtable) {
if(typeof(this.hashtable[i])=="function"){
continue;
}
keys.push(i);
}
return keys;
}
function test() {
var ht = new Hashtable();
ht.put("3", "Jackson");
ht.put("2", "Tom");
ht.put("4", 3);
ht.set("length", 445555);
ht.set("ddd", "ddd");
ht.set("index", "ddd");
var et = ht.toString();
ht.ignoreupperlower = false;
//忽略大小寫(xiě)
ht.clear();
ht.put("3", "Jackson");
ht.put("2", "Tom");
ht.remove("2");
ht.put("4", 3);
ht.set("length", 5);
//如果用new Array的話該項(xiàng)會(huì)設(shè)置Array的長(zhǎng)度
ht.set("index", "ddd");
ht.set("ddd", "ddd");
alert(et + "" + ht.toString() + "" + ht.size());
var cloneobj=ht.clone();
alert(cloneobj.toString());
}
</script>
</head>
<body onload="test()">
</body>
</html>

如果你想使用功能更好的hashtable和hashset請(qǐng)下載: http://xiazai.jb51.net/201012/yuanma/jshashtable.rar

相關(guān)文章

  • js貪吃蛇游戲?qū)崿F(xiàn)思路和源碼

    js貪吃蛇游戲?qū)崿F(xiàn)思路和源碼

    這篇文章主要為大家介紹了js貪吃蛇游戲?qū)崿F(xiàn)思路,并分享貪吃蛇游戲源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript oncopy事件用法實(shí)例解析

    JavaScript oncopy事件用法實(shí)例解析

    這篇文章主要介紹了JavaScript oncopy事件用法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 小程序表單校驗(yàn)uni-forms的正確使用方式以及避坑指南

    小程序表單校驗(yàn)uni-forms的正確使用方式以及避坑指南

    因微信小程序上沒(méi)有自帶表單驗(yàn)證,為了實(shí)現(xiàn)就自己做了個(gè)表單驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于小程序表單校驗(yàn)uni-forms的正確使用方式以及避坑指南,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • JS在if中的強(qiáng)制類(lèi)型轉(zhuǎn)換方式

    JS在if中的強(qiáng)制類(lèi)型轉(zhuǎn)換方式

    大家都知道JS在很多情況下會(huì)進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,最常見(jiàn)的方式有兩種,在文章均給大家提到,下面小編給大家?guī)?lái)了JS在if中的強(qiáng)制類(lèi)型轉(zhuǎn)換,感興趣的朋友一起看看吧
    2018-07-07
  • LayUi使用switch開(kāi)關(guān),動(dòng)態(tài)的去控制它是否被啟用的方法

    LayUi使用switch開(kāi)關(guān),動(dòng)態(tài)的去控制它是否被啟用的方法

    今天小編就為大家分享一篇LayUi使用switch開(kāi)關(guān),動(dòng)態(tài)的去控制它是否被啟用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 用正則獲取指定路徑文件的名稱

    用正則獲取指定路徑文件的名稱

    用正則獲取指定路徑文件的名稱...
    2007-02-02
  • js由下向上不斷上升冒氣泡效果實(shí)例

    js由下向上不斷上升冒氣泡效果實(shí)例

    這篇文章主要介紹了js由下向上不斷上升冒氣泡效果,實(shí)例分析了javascript操作鼠標(biāo)事件、圖片及樣式的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 微信小程序表單彈窗實(shí)例

    微信小程序表單彈窗實(shí)例

    這篇文章主要為大家詳細(xì)介紹了微信小程序表單彈窗實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 千萬(wàn)別錯(cuò)過(guò)的JavaScript?sort方法使用指南

    千萬(wàn)別錯(cuò)過(guò)的JavaScript?sort方法使用指南

    sort方法在我們的日常開(kāi)發(fā)中是經(jīng)常使用的,sort方法一般是用來(lái)對(duì)數(shù)組進(jìn)行排序的,但是你是否知道sort方法默認(rèn)是按什么方式排序的呢?下面就和我一起來(lái)深入了解sort方法吧
    2023-05-05
  • 利用JS進(jìn)行圖片的切換即特效展示圖片

    利用JS進(jìn)行圖片的切換即特效展示圖片

    做網(wǎng)頁(yè)時(shí)需要利用JS進(jìn)行特效展示圖片,下面是利用JS簡(jiǎn)單制作的圖片的切換,需要的朋友可以了解下
    2013-12-12

最新評(píng)論