Benutzer:J*/lib/tools.js: Unterschied zwischen den Versionen

aus Kamelopedia, der wüsten Enzyklopädie
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt.)
 
K (Schützte „Kamel:J*/lib/tools.js“ [edit=sysop:move=sysop])
 

Aktuelle Version vom 17. März 2009, 21:31 Uhr

/* +-----------------------------------------------------------+
 * |                                                           |
 * |  Modul 1: Erweiterungen von Datentypen mittels prototype  |
 * |                                                           |
 * +-----------------------------------------------------------+
 */

/*
 * Erweiterung von Array: Array.where erlaubt die Filterung von Objekten mittels Vergleichsfunktion
 *
 * Das benutze Array.each ist übrigens der for...in-Ersatz von Prototype 
 * (for...in funktionert nicht 100% ordentlich, wenn man prototype in Arrays benutzt)
 *
 * Beispiel für Array.where:
 * var a = [1,2,3];
 * a.where( function(e) { return(e>1) } )
 * -> gibt zurück: [2,3]
 */

Array.prototype.where = function ( fkt ) {
    var out = [];
    this.each( function (e) {
        if ( fkt(e) )
            out.push(e)
    } );
    return out;
}