I want to implement a keyword search for a field which is located inside Nested Array of Objects. How can I achieve it?
Data -
const groupList = [{
"group_name": "General",
"trainings": [
{
"id": 1,
"training_name": "Plural Sight",
},
{
"id": 2,
"training_name": "Google Maps",
}
]
}]
Code -
const [groupsData, setGroupsData] = useState([]);
const lowerContains = (str1, str2) => str1 && str2 && str1.toLowerCase().indexOf(str2.toLowerCase()) !== -1;
const handleSearch = searchKeyword => {
if (searchKeyword && searchKeyword.trim()) {
const groupFiltered = groupList.filter(item => item.group_name && lowerContains(item.group_name, searchKeyword));
setGroupsData( groupFiltered );
return;
}
setGroupsData({ [...groupList] });
};
Currently I am able to search with group_name but I want to also search with training_name inside trainings.
lowerContains()function?