Código
for (var i = 0; i<= materias.length; i++) {
Tu ciclo recorre indices desde 0 hasta la longitud del arreglo. Los arreglos empiezan en 0 y la longitud de un arreglo siempre es mayor al último índice del arreglo. Eso quiere decir que si tienes un arreglo de 5 elementos, el último índice que tiene es 4. Tu código prueba con un índice de 5 que no existe, por lo tanto es indefinido.
En pocas palabras, quitale ese = a tu comparación.
Cierto cierto no me di cuenta muchisimas gracias!, como genere el for y viene por default desde la logitud hasta mayor igual que 0 no lo verifique gracias nuevamente!