js map型別實現
map是物件導向程式語言中比較常使用的一種資料型別,主要是因為比較好用的鍵值對形式,javascript由於是指令碼語言,原生的型別中沒有map中型別,但是可以通過構造自己建立map資料型別:
map型別:
function UtilMap() {
var struct = function (key, value) {
this.key = key;
this.value = value;
};
var 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);
};
var 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;
};
var getKey = function (index) {
if (index > -1 && index < this.arr.length) {
return this.arr[index].key;
}
return null;
};
var 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);
}
};
var size = function () {
return this.arr.length;
};
var isEmpty = function () {
return this.arr.length <= 0;
};
this.arr = new Array();
this.get = get;
this.getKey = getKey;
this.put = put;
this.remove = remove;
this.size = size;
this.isEmpty = isEmpty;
}
通過這中方式建立出來的map型別,可以使用new 關鍵字,
例如:
var map = new UtilMap();
並且可以擴充自己需要的方法,這就實現了比較簡單的map 型別。
相關文章
- Golang 引用型別-mapGolang型別
- js實現的判斷上傳圖片的型別JS型別
- map 型別 - Go 學習記錄型別Go
- 關於 Go 中 Map 型別和 Slice 型別的傳遞Go型別
- map的實現
- JS 型別JS型別
- fastjson json字串和JavaBean、List、Map及複雜集合型別的相互轉換。ASTJSON字串JavaBean型別
- TS 分析字串實現 Commander.js 自動強型別字串JS型別
- GO語言————8.4 map 型別的切片Go型別
- js基本型別和引用型別區別JS型別
- map/reduce實現 排序排序
- js實現的微信獲取當前網路連線型別JS型別
- js引用型別JS型別
- 型別“Observable”上不存在屬性“map”型別
- JS Array.reduce 實現 Array.map 和 Array.filterJSFilter
- 實現TypeScript中的互斥型別TypeScript型別
- ORACLE NUMBER型別內部實現Oracle型別
- Redis 字串型別實現內幕Redis字串型別
- json序列化與反序列化 (map,struct, slice, 基本資料型別)JSONStruct資料型別
- JS篇-基本型別和引用型別、typeofJS型別
- JS基本型別與引用型別知多少JS型別
- 自定義超實用Redis工具類(滿足物件,list,map等型別)Redis物件型別
- javascript實現Map結構JavaScript
- 用whistle實現map local
- js 型別檢測JS型別
- js型別轉換JS型別
- js判斷型別JS型別
- js資料型別JS資料型別
- JS 型別判斷JS型別
- js陣列型別JS陣列型別
- 【JS】型別檢測JS型別
- 【HttpClient】httpclient之post 方法(引數為Map型別)HTTPclient型別
- Map和String型別之間的轉換型別
- MySQL的索引型別和實現原理MySql索引型別
- IOS多型別Cell的tableView實現iOS多型型別View
- 如何實現隱式型別轉換型別
- WPF 型別轉換器的實現型別
- app直播原始碼,js實現上傳圖片型別+大小+尺寸驗證APP原始碼JS型別