この記事の例では、JS カスタム オブジェクトが Java で Map オブジェクト関数を実装する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。
Java にはコレクション、Map などのオブジェクト ストレージ ツール クラスがありますが、これらのオブジェクトは簡単に使用できますが、JavaScript では Array オブジェクトしか使用できません。
ここではカスタム オブジェクトを作成します。このオブジェクトにはデータを保存するための配列が含まれており、実際にコンテンツを保存できます。
ここでは、Key に String 型を使用する必要があり、Java と同様に、追加、削除、変更、取得などの操作を実行できます。
使い方はとても簡単です。まずツールを紹介します。
/**
* @バージョン 1.0
* ページの Map オブジェクトを実装するために使用されます。キーは文字列のみであり、オブジェクトは任意です
*/
var Map = function(){
this._entrys = 新しい Array();
this.put = function(key, value){
if (key == null || key == 未定義) {
戻る;
}
var インデックス = this._getIndex(key);
if (インデックス == -1) {
var エントリ = 新しいオブジェクト();
エントリ.キー = キー;
エントリ.値 = 値;
this._entrys[this._entrys.length] = エントリ;
}その他{
this._entrys[インデックス].value = 値;
}
};
this.get = function(key){
var インデックス = this._getIndex(key);
return (インデックス != -1) ? this._entrys[インデックス].value : null;
};
this.remove = function(key){
var インデックス = this._getIndex(key);
if (インデックス != -1) {
this._entrys.splice(index, 1);
}
};
this.clear = function(){
this._entrys.length = 0;;
};
this.contains = function(key){
var インデックス = this._getIndex(key);
return (インデックス != -1) ? true : false;
};
this.getCount = function(){
this._entrys.length を返します。
};
this.getEntrys = function(){
this._entrys を返します。
};
this._getIndex = function(key){
if (key == null || key == 未定義) {
-1 を返します。
}
var _length = this._entrys.length;
for (var i = 0; i <_length i>
var エントリ = this._entrys[i];
if (エントリ == null || エントリ == 未定義) {
続く;
}
if (entry.key === key) {//equal
私を返します。
}
}
-1 を返します。
};
}
J 内のオブジェクトの構築などの基本がわかっていれば、自分自身をネットワークに接続できます。
// 自定义Map对象
var マップ = 新しい Map();
マップ.put("a","a");
アラート(map.get("a"));
マップ.put("a","b");
alert(map.get("a"));
まず a をポップし、次に b をポップします。後者は前のものを上書きするためです。
他の方法も自分で書いてください。
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。