Come dice Alka l'errore sta in quel blocco di codice, praticamente stai cercando di applicare includes su un oggetto e non su un array.
ti riporto un esempio sperando di aver capito il tuo problema.
codice:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form id="formInserimentoStudenti">
<input type="text" name="search-field" id="search-field">
<button id="btn-filter">Cerca Studente</button>
<br><br>
<input type="text" name="nome" id="nome">
<input type="text" name="cognome" id="cognome">
<button id="btn-student" type="submit">Inserisci studente</button>
</form>
<table>
<thead>
<tr>
<th>Nome</th>
<th>Cognome</th>
</tr>
</thead>
<tbody id="listaStudenti"></tbody>
</table>
<script>
class Studente {
constructor(nome, cognome) {
this.nome = nome
this.cognome = cognome
}
}
const listaStudenti = []
document.addEventListener('DOMContentLoaded', () => {
const btnStudent = document.querySelector('#btn-student')
const inputFilter = document.querySelector('#search-field')
const btnFilter = document.querySelector('#btn-filter')
const tbody = document.querySelector('#listaStudenti')
const nomeStudente = document.querySelector('#nome')
const cognomeStudente = document.querySelector('#cognome')
btnStudent.addEventListener('click', (e) => {
e.preventDefault()
if (nomeStudente.value == '' || cognomeStudente.value == '') return
listaStudenti.push(new Studente(nomeStudente.value, cognomeStudente.value))
popolaTabella(listaStudenti)
nomeStudente.value = ''
cognomeStudente.value = ''
})
btnFilter.addEventListener('click', (e) => {
e.preventDefault()
const filteredList = listaStudenti.filter(obj => {
return inputFilter.value !== '' ? (obj.nome == inputFilter.value) : listaStudenti
})
popolaTabella(filteredList)
})
function popolaTabella(studenti) {
let tbodyContent = ''
for (let student of studenti) {
tbodyContent += `
<tr>
<td>${student.nome}</td>
<td>${student.cognome}</td>
</tr>
`
}
tbody.innerHTML = tbodyContent
}
})
</script>
</body>
</html>