این متد خب اسمش روش هست. آرایه مورد نظر ما رو فیلتر میکنه. جزئی‌تر بگم، متد filter تابع دلخواه x که خروجی اون Boolean هست رو روی تک تک اعضای یک آرایه اعمال می‌کنه. خروجی این متد یک آ‌رایه شامل اعضایی هست که خروجی تابع x برای اونها true هست:

let numbers = [ 111, 99, 51, 101, 102 ];

let output = numbers.filter(function(item) {
    return item > 100;
});

console.log(output); // [ 111, 101, 102 ]

بعد از درک مسئله، می‌تونین مسئله رو حل کنین. اگه از شما خواسته شد متد filter رو بصورت دستی بنویسید:

function filter(arr, filterCallback) {
    if (! Array.isArray(arr) || ! arr.length || typeof filterCallback !== 'function')  {
        return [];
    } else {
        let result = [];
        
        for (let i = 0, len = arr.length; i < len; i++) {
            if (filterCallback(arr[i], i, arr)) { 
                result.push(arr[i]);
            }
        }

        return result;
    }
}

برای آشنایی کامل‌تر با این متد این پست رو ببینید:

 

منبع: