Mensch, da sucht man eine halbe Stunde lang das Netz ab und findet trotzdem nichts - das kenne ich normalerweise nur von Kundenproblemen :-) Kleiner Spaß, es geht um ein Array-Prototype, der einen mitgegebenen Index löscht. Und das ganze mit returns, damit meine Setter noch richtig funktionieren. Also Beispiel:
-
var arr:Array = new Array("a", "b", "c", "d");
-
arr = arr.remove(1); // index mitgeben, nicht wert!
-
-
trace(arr); // a, c, d
Leider habe ich mich vergebens darauf verlassen, dass derartiges schonmal jemand geschrieben hat. Doch das, was ich gefunden habe war leider ohne returns, ohne index-Angabe oder schlichtweg nicht gebrauchbar, weil´s nicht funktionierte. Hier also der Array.remove(index)-Prototype:
-
Array.prototype.remove = function(index:int):Array {
-
var original:Array = this.slice(); // a, b, c, d
-
var temp:Array = original.splice(index); // b, c, d
-
temp.shift(); // c, d
-
original = original.concat(temp); // a, c, d
-
-
return original;
-
};
Die Funktionsweise ist recht einfach: Er schneidet das Array vor dem mitgegebenen Index ab, löscht von dem abgeschnittenen den ersten Wert und fügt dann alles wieder zusammen.



18. November 2009
Marvin Blase
Posted in
Tags: