Filter a List of SObject records using criteria from a Map of String to Object. Return only records that match ALL criteria without using SOQL queries. Use dynamic field access to evaluate each record against the provided criteria.
Examples:
Input: records = [Account(Name='Acme Corp', Industry='Technology'), Account(Name='Global Inc', Industry='Finance')], criteria = {Name => 'Acme Corp'}
Output: [Account(Name='Acme Corp', Industry='Technology')]
Explanation: Only the first record matches the Name criteria
Input: records = [Account(Name='Tech Solutions', AnnualRevenue=100000), Account(Name='Big Corp', AnnualRevenue=500000)], criteria = {AnnualRevenue => 500000}
Output: [Account(Name='Big Corp', AnnualRevenue=500000)]
Explanation: Only the second record matches the revenue criteria
Input: records = [Account(Name='ABC Inc', Industry='Tech', AnnualRevenue=200000)], criteria = {Industry => 'Tech', AnnualRevenue => 200000}
Output: [Account(Name='ABC Inc', Industry='Tech', AnnualRevenue=200000)]
Explanation: Record matches both Industry and AnnualRevenue criteria
Apex Code Editor
Welcome to Lightning Challenge!
How It Works
- • Write your solution in the code editor
- • Connect your Salesforce org to test
- • Submit to check if your solution passes
- • Use hints if you get stuck
Contest Alert
🏆 #CodeEveryDay July 2026
Contest runs July 1 - 31. Complete challenges to climb the leaderboard!
Only the 31 daily challenges shown during this contest count toward points. Earlier dailies don't carry over.