Categorized | javascript

Array.filter

Posted on 29 August 2008 by michael

Mir war es einfach zu langweilig, jedesmal ein .each oder ähnliches auf Arrays machen zu müssen, nur um ein Array zu filtern. Also ab damit in das Array-Objekt!

Object.extend(Array.prototype, {
    filter : function(fn){
        var tmpNew = new Array();
        this.each(function(element){
            if (fn(element)) {
                tmpNew.push(element)
            }
        });

        return tmpNew;
    }
});

Jetzt sind Dinge wie

    var myArr = [1,2,3,4,5,6,7,8,9];
    myArr = myArr.filter(function(element){
        return element > 6;
    });
    // myArr = [7,8,9]

Natürlich kann man auch in der function einen Regex-Ausdruck auf das Element anwenden oder ähnliche Filterfunktionen schreiben. Die Funktion muss nur ein true zurückgeben, wenn das Element zu den gesuchten gehören soll!

Leave a Reply

Photos from our Flickr stream

See all photos

josi_de@twitter

GitHub Projects