首頁  >  文章  >  web前端  >  JS Map 和 List 的簡單實作程式碼_javascript技巧

JS Map 和 List 的簡單實作程式碼_javascript技巧

WBOY
WBOY原創
2016-05-16 17:29:45967瀏覽
複製程式碼 程式碼如下:

/*
* MAP オブジェクト、MAP 関数を実装
*
* インターフェース:
* size() MAP 要素を取得項目数
* isEmpty() MAP が空かどうかを判定
* clear() MAP の全要素を削除
* put(key, value) 要素 (key, value) を MAP に追加
* Remove (key) 指定された KEY の要素を削除し、成功した場合は True、失敗した場合は False
を返します * get(key) 指定された KEY の要素値 VALUE を取得し、失敗した場合は NULL
を返します * element(index)指定されたインデックスの要素を取得します (element.key を使用し、element.value は KEY と VALUE を取得します)、失敗した場合は NULL を返します
* containsKey(key) MAP に指定された KEY を持つ要素が含まれているかどうかを判断します
* containsValue( value) 指定された VALUE を持つ要素が MAP に含まれているかどうかを判断します
*values() MAP 内のすべての VALUE の配列を取得します (ARRAY)
*keys() MAP 内のすべての KEY の配列を取得します ( ARRAY)
*
* 例:
* var map = new Map();
*
* map.put("key", "value");
* var val = map.get("key")
* ……
*
*/
function Map() {
this.elements = new Array();
//MAP 要素の数を取得
this.size = function() {
使用を使用して使用します。
};
//MAP の要素をすべて削除
this.clear = function() {
this.elements = new Array();
};
//追加先MAP 要素 (key, value) を追加
this.put = function(_key, _value) {
this.elements.push( {
key : _key,
value : _value
}) ;
};
//指定された KEY の要素を削除し、成功した場合は True、失敗した場合は False を返します
this.remove = function(_key) {
var bln = false;
try {
for (i = 0; i if (this.elements[i].key == _key) {
this.elements.splice( I、1; >。 🎜> this.containsKey = function(_key) {
var bln = false;
try {
for (i = 0; i }
} catch (e) {
bln = false;;
//MAP に指定された VALUE の要素が含まれているかどうかを判断します
this.containsValue = function(_value) {
var bln = false;
try {
for (i = 0) ; i < this.elements.length; i ) {
}
} catch ( e) { bln = false;
return
}; > // マップ内のすべての値の配列を取得します (🎜> this.values = function () {
var arr = new Array();
for (i = 0; i < this.elements.length; i ) {
arr.push(this.elements[i].value);
}
}; return arr;
};
// MAP 内のすべての KEY の配列 (ARRAY)
this.keys = function() {
var arr = new Array( );
for (i = 0; i arr.push(this.elements[i].key);
}
return
};
}






コードをコピー

コードは次のとおりです:

/**
* js 実装リスト
*
*/
function List() {
this.value = [];
/* Add*/
this.add = function(obj ) {
using using using using using using through out through out through off off ' s ' through ‐ to ‐ ‐′‐‐‐‐ ‐ to 🎜> };
/* 指定された値を返します。 index*/
this.get = function(index) {
}; return this.value[index];
};
/* 削除 インデックスの値を指定します*/
this.remove = function(index) {
this.value.splice(index,1);
return this.value;
};
/* すべての値を削除*/
this .removeAll = function() {
return this.value = [];
};
/* オブジェクトを含むかどうか*/
this.constains = function(obj) {
for ( var i in this.value) {
if (obj == this.value[i]) {
return true;
continue;
var allInfos = '; 🎜> 戻るallInfos = this.value[i] "," ;;
};

}


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn