Das Beispiel in diesem Artikel beschreibt, wie benutzerdefinierte JS-Objekte die Map-Objektfunktion in Java implementieren. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
In Java gibt es Sammlungs-, Karten- und andere Objektspeicher-Toolklassen. Diese Objekte sind einfach zu verwenden, aber in JavaScript können Sie nur Array-Objekte verwenden.
Hier erstelle ich ein benutzerdefiniertes Objekt. Dieses Objekt enthält ein Array zum Speichern von Daten. Das Datenobjekt ist ein Schlüssel, der den Inhalt tatsächlich speichern kann.
Hier müssen Sie für den Schlüssel den String-Typ verwenden. Genau wie bei Java können Sie einige Vorgänge wie Hinzufügen, Löschen, Ändern und Abrufen ausführen.
Es ist sehr einfach zu verwenden. Lassen Sie mich Ihnen zuerst die Tools zeigen:
/**
* @Version 1.0
* Wird zum Implementieren des Seitenkartenobjekts verwendet. Der Schlüssel kann nur ein String sein, das Objekt ist beliebig
*/
var Map = function(){
this._entrys = new Array();
this.put = function(key, value){
if (key == null || key == undefiniert) {
zurückkehren;
}
var index = this._getIndex(key);
if (index == -1) {
var-Eintrag = neues Objekt();
Eintrag.key = Schlüssel;
Eintrag.Wert = Wert;
this._entrys[this._entrys.length] = Eintrag;
}else{
this._entrys[index].value = value;
}
};
this.get = function(key){
var index = this._getIndex(key);
return (index != -1) ? this._entrys[index].value : null;
};
this.remove = function(key){
var index = this._getIndex(key);
if (index != -1) {
this._entrys.splice(index, 1);
}
};
this.clear = function(){
this._entrys.length = 0;;
};
this.contains = function(key){
var index = this._getIndex(key);
return (index != -1) ? wahr: falsch;
};
this.getCount = function(){
return this._entrys.length;
};
this.getEntrys = function(){
return this._entrys;
};
this._getIndex = function(key){
if (key == null || key == undefiniert) {
return -1;
}
var _length = this._entrys.length;
for (var i = 0; i < _length; i ) {
var-Eintrag = this._entrys[i];
if (Eintrag == null || Eintrag == undefiniert) {
weitermachen;
}
if (entry.key === key) {//equal
gib i zurück;
}
}
return -1;
};
}
如果你不懂Js中对象的创建等一些基础知识,自己可以网上查一下.
// 自定义Map对象
var map = new Map();
map.put("a",a");
alarm(map.get("a"));
map.put("a",b");
alarm(map.get("a"));
Pop a zuerst und dann pop b , da letzteres das vorherige überschreibt!
Andere Methoden bitte selbst aufschreiben!
Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.