用js實現java中的map
阿新 • • 發佈:2018-12-17
今天閒來無事,照著別人的例子寫了一個小Demo。一眼看上去沒什麼難的,其實挺有意思的。
function Map(){ this.array = new Array(); var struct = function(key,value){ this.key = key; this.value = value; } var put = function(key,value){ for(var i = 0 ; i < this.array.length;i++){ if(this.array[i].key == key){ this.array[i].value = value; return; } } this.array[this.array.length] = new struct(key,value); } var get = function(key){ for(var i = 0 ; i < this.array.length;i++){ if(this.array[i].key == key){ return this.array[i].value } } return null; } this.put = put; this.get = get; }
首先,需要定義一個Map方法。在JavaScript中,方法本身也是一個物件。所以,我們可以通過new Map()的方式來得到這個物件。
其次,我們可以在Map方法裡定義一些變數(array,put,get )作為Map物件的屬性,並通過this關鍵字來指定它們的關係。
接著,我們需要定義一些方法(put,get),作為Map物件的行為。
最後,把我們定義好的方法繫結到Map的屬性上就可以啦。
最重要的一件事,就是需要注意一下key和value的儲存方式,是通過物件來儲存的。