Вы хотите использовать что-то вроде Делегаты или функции привязки, или замыкания. В зависимости от вашего кодирования и терминологии предпочтений. Идея, стоящая за ними, заключается в том, что вы создаете динамическую оболочку функции для основной функции «фильтра». Эта оболочка будет иметь доступ к дополнительным параметрам, которые вы передаете. Итак, при первом вызове вы можете перейти:
a.filter(Delegate.create(myFunc, param1));
и в следующий раз:
a.filter(Delegate.create(myFunc, param2));
и ваша функция будет выглядеть примерно так:
private function myFunc(item:*, index:Number, a:Array, param:Object=null):Boolean{}
Быстрый грязный метод - просто передать встроенную функцию, подобную этой:
a.filter(
function(item:*, index:Number, a:Array):Boolean {
return myFunc(item,index,a,param1);
}
);
где param1 передается с использованием замыкания, созданного определением функции.