1. 程式人生 > >JavaScript中實現鍵值對的方法

JavaScript中實現鍵值對的方法

在寫js的時候,碰到需要使用類似hashmap的情況。

1、有一種比較簡單的實現辦法,但是使用起來侷限性比較大。

var obj1={"a":1,"b":2};

alert(obj1["a"]);

這是一種功能非常簡單的鍵值對,只能夠小範圍的定義和取值。

2、自己寫js函式實現,使用更廣,可以直接使用。

定義函式:

function Map() {
this.keys = new Array();
this.values= new Array();
//新增鍵值對
this.set = function (key, value) {
if (this.values[key] == null) {//如鍵不存在則身【鍵】陣列新增鍵名
this.keys.push(value);
}
this.values[key] = value;//給鍵賦值
};
//獲取鍵對應的值
this.get = function (key) {
return this.values[key];
};
//去除鍵值,(去除鍵資料中的鍵名及對應的值)
this.remove = function (key) {
this.keys.remove(key);
this.values[key] = null;
};
//判斷鍵值元素是否為空
this.isEmpty = function () {
return this.keys.length == 0;
};
//獲取鍵值元素大小
this.size = function () {
return this.keys.length;
};
}

呼叫函式:

var t=new Map();

t.set(‘1’,’2’);//新增

var value1=t.get('1');//取得鍵值對相應的值

etc.

這裡也體現了JavaScript中面向物件的思想。