Like I said before, you are not calculating the average of the ratings. During each iteration of the reduce, you have the right idea to calculate the sum with sum += Number(elem.imdbRating), but you should not be dividing sum by array.length inside the reduce callback.
Currently, the filter returns an array with the 4 movie objects directed by Christopher Nolan. That is correct.
Then, takes this array of movie objects and starting with sum = 0, it adds the numeric value of elem.imdbRating back to the sum argument. That is correct.
Instead of just returning sum which would create the correct total of 34.7, your code is dividing each previous sum by 4 during each iteration. Put a console.log(sum/array.length) before the return statement and you will see what is getting returned for sum at the start of the next iteration.
Like I said previously, try performing the filter first and assign it’s result to a variable which you can use in a certain way (which you need to figure out by yourself) in the final calculation for the averageRating variable.