Simple Timer Program
You are basically trying to show timer, which can be up to hours. Best way to calculate and represent that for your usecase is definitely by just one variable, which holds all the seconds. That way your code handling current state is a lot simpler - you have just one variable, you decrease it every second until it's done.
You will have more work displaying that value as you will have to calculate minutes and seconds, but that's fine.
Definitely extract that to function - you pass number of seconds and you get string representing it. You may even consider using library for that or a number formatter. There are plenty ways how to do that:
https://stackoverflow.com/questions/3733227/javascript-seconds-to-minutes-and-seconds
Your variable timerRunning is redundant. In your code same meaning has expression timeLeft[1] &lt; 0 &amp;&amp; timeLeft[0] &lt; 0. You really don't want redundancy, that leads to bugs. Again you can extract to function isTimerRunning if you need it. But again if you end up with only one timeLeft variable with representing all in seconds, you just need !timeLeft to check, if timer is over.
Probably not a problem in your case, but keep in mind, that setInterval is not very reliable time-wise. It pings "around" every second, but it jumps a lot. More on this here:
https://stackoverflow.com/questions/29971898/how-to-create-an-accurate-timer-in-javascript


Edit:


In this line function time() { // Restart timer you poorly name your function and then you have to comment it to describe what it does. Why not just name function restartTimer and you can delete comment?