[UPDATE] Array.filter

Posted by & filed under javascript.

Hab‘ mich noch zu einer kleinen Verbesserung verleiten lassen…

Object.extend(Array.prototype, {
    filter : function(){
        var args = $A(arguments), fnc = args.shift(), tmpNew = new Array();
        if(typeof(fnc)!='function'){throw new TypeError()};
        this.each(function(element){
            args.unshift(element);
            if (fnc.apply(this,args)) {
                tmpNew.push(element)
            }
            args.shift();
        });
        return tmpNew;
    }
});

Damit sind jetzt u.a. weitere Paramater für die Testfunktion zulässig:

[1,2,3,4,5,6,7,8].filter(function(element,a,b){return element > a && element < b;},3,6);
// => [4, 5]
[1,2,3,4,5,6,7,8].filter(function(element){return element > 6;});
// => [7,8]
[1,2,3,4,5,6,7,8].filter(1,3,6);
// => TypeError
['aa',1,9,{},[],'bb'].filter(function(e,a){return typeof(e)==a},'number').filter(function(e,a){return e > a},8)
// => [9]

Zugriffsmethoden in JavaScript?

Posted by & filed under javascript.

Zugriffsmethoden (oder auch Akzessoren oder Getter und Setter) sind in der objektorientierten Programmierung spezielle Methoden, die ausgeführt werden, wenn einzelne Eigenschaften eines Objektes verändert oder ausgelesen werden.
Read more »