rss twitter

Array.remove(index) Prototype

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:

Actionscript:
  1. var arr:Array = new Array("a", "b", "c", "d");
  2. arr = arr.remove(1); // index mitgeben, nicht wert!
  3.  
  4. 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:

Actionscript:
  1. Array.prototype.remove = function(index:int):Array {
  2.     var original:Array = this.slice(); // a, b, c, d
  3.     var temp:Array = original.splice(index); // b, c, d
  4.     temp.shift(); // c, d
  5.     original = original.concat(temp); // a, c, d
  6.  
  7.     return original;
  8. };

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.

Kommentar hinterlassen

Powered by WordPress | Free T-Mobile Phones for Sale | Thanks to Palm Pre Blog, Video Game Music and Get Six Pack Abs