Tutorials
Practical tutorials for the work we actually do. Pick one, read it in order, and apply it.
for...of gives you the values of an array. for...in gives you the keys of an object, as strings. Mix them up and you get indexes instead of items, or worse.
Trace a const reassignment inside an input handler, preserve the original list, and verify that filtering and clearing the query both work.
Backticks and ${} replace most string gluing with +. You get readable text, values inside it, and multi-line strings without \n everywhere.
"5" + 1 is "51" because + joins text before it adds numbers. Convert values on purpose with Number(), String() and parseInt(), check for NaN, and stop letting JavaScript guess for you.
Your date moves a day because one part of the code uses UTC and another uses local time. Find which step does it, keep calendar days as YYYY-MM-DD strings, and name the time zone when you format.
Replace long lists of positional arguments with one options object, destructured in the parameter list with defaults. Add = {} so a call with no argument doesn't crash, and know that defaults only replace undefined.