این متد خب اسمش روش هست. آرایه مورد نظر ما رو فیلتر میکنه. جزئیتر بگم، متد 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; } }
برای آشنایی کاملتر با این متد این پست رو ببینید:
منبع: