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!

