Nobody here is going to give you a solution. We will give hints and try and guide you to answers. The point is you should be learning these things. Us giving you the answer is not helping you solve these problems and making you better at coding.
If you just type tracks into JavaScript its going to assume you are talking about some variable. And JavaScript is not seeing it, so its yelling at you that its missing. These are things you should look for when you see that error. Did you make a variable named tracks anywhere? Is it there but out of scope? Did you make a typo? You should know how to define a variable, let tracks. That will fix the error message, but that’s not really the problem here.
The thing is should tracks be a variable? If you look at the arguments being sent to the function it should give you a hint as to what type of data tracks should be if your are comparing it to prop. What type of data is prop holding? What type of data are property names in an object?
You have other problems with your code, but solve that first and keep asking questions and we will help.
If you understand how functions are called and arguments work you should be able to tell me what data type is stored in prop.
If you don’t understand these things it can be hard to tell what is going on in a function, and it will be very confusing and hard to pass most of these tests on your own.