If you have an array that must be filtered based on anther array value. The list that must be filtered [ { name: 'Anna', age: 23, skills: [{name: 'a', desc: 'aaa'}] }, { name: 'Barbara', age: 26, skills: [{name: 'a', desc: 'aaa'}, {name: 'b', desc: 'bbb'} ] } ] input for comparison/filter [{name: 'b', desc: 'bbb'}] function called with input [{name: 'b', dec: 'bbb'}] updatePersonList([{name: 'b', dec: 'bbb'}]); updatePeronList(skill: {name: string, desc: string}) { this.filteredList = this.filteredList.filter(person => { person?.skills(skills => { // I have tried include, some and some other things on I think its because you cannot compare objects like that that must be done with .equels or some other way. }); }); } What I like to to is if there is any object in the given array that is also available in the skill array than this person must be shown in the filtered list. If there is no match at al the person must not be shown. Maybe its' still unclear please ask a question and I will try the explain in another way Continue reading...