I am trying to filter users based on their first name and/or last name, but I keep encountering the error:
TypeError: Cannot read property 'toLowerCase' of undefined
const users = [{name: 'john', lastname: "doe"}, {name: 'mary'}]
let searchName = "jo"
let searchLastName = ""
users.filter((user) =>
user.name
.toLowerCase()
.includes(searchName.toLowerCase())
&& (user.lastname // Check if user has a last name before proceeding
? user.lastname
.toLowerCase()
.includes(searchLastName.toLowerCase())
: true // If no last name, consider it as a match
)
How can I modify the filter function to only check for last name if the user actually has a last name (I know they always have a first name)?