Looping code – learn web development mdn heartburn relief pregnancy

Programming languages are very useful for rapidly completing repetitive tasks, from multiple basic calculations to just about any other situation where you’ve got a lot of similar items of work to complete. Here we’ll look at the loop structures available in JavaScript that handle such needs. Prerequisites:

Loops, loops, loops. As well as being associated with popular breakfast cereals, roller coasters and musical production, they are also a critical concept in programming. Programming loops are all to do with doing the same thing over and over again — which is termed iteration in programming speak.

• An iterator, which generally increments the counter by a small amount on each successive loop, until it reaches the exit condition. We haven’t explicitly illustrated this above, but we could think about the farmer being able to collect say 2 portions of food per hour.

After each hour, the amount of food he has collected is incremented by two, and he checks whether he has enough food. If he has reached 10 portions (the exit condition), he can stop collecting and go home.

So the amount of food needed is set at 10, and the amount the farmer currently has is set at 0. In each iteration of the loop we check whether the amount of food the farmer has is equal to the amount he needs. If so, we can exit the loop. If not, the farmer spends an hour collecting two portions of food, and the loop runs again. Why bother?

At this point you probably understand the high level concepts behind loops, but you are probably thinking OK, great, but how does this help me write better JavaScript code? As we said earlier, loops are all to do with doing the same thing over and over again, which is great for rapidly completing repetitive tasks.

Often, the code will be slightly different on each successive iteration of the loop, which means that you can complete a whole load of tasks that are similar but slightly different — if you’ve got a lot of different calculations to do, you want to do each different one, not the same one over and over again!

for is not the only type of loop available in JavaScript. There are actually many others and, while you don’t need to understand all of these now, it is worth having a look at the structure of a couple of others so that you can recognize the same features at work in a slightly different way.

This works in a very similar way to the for loop, except that the initializer variable is set before the loop, and the final-expression is included inside the loop after the code to run — rather than these two items being included inside the parentheses. The exit-condition is included inside the parentheses, which are preceded by the while keyword rather than for.

The same three items are still present, and they are still defined in the same order as they are in the for loop — this makes sense, as you still have to have an initializer defined before you can check whether it has reached the exit-condition; the final-condition is then run after the code inside the loop has run (an iteration has been completed), which will only happen if the exit-condition has still not been reached.

var jsSolution = ‘var output = document.querySelector(\’.output\’);\noutput.innerHTML = \’\’;\n\nvar i = 10;\n\nwhile(i = 0) {\n var para = document.createElement(\’p\’);\n if(i === 10) {\n para.textContent = \’Countdown \’ + i;\n } else if(i === 0) {\n para.textContent = \’Blast off!\’;\n } else {\n para.textContent = i;\n }\n\n output.appendChild(para);\n\n i–;\n}’;

In this exercise, we want you to take a list of names stored in an array, and put them into a guest list. But it’s not quite that easy — we don’t want to let Phil and Lola in because they are greedy and rude, and always eat all the food! We have two lists, one for guests to admit, and one for guests to refuse.

Extra bonus question — after completing the above tasks successfully, you will be left with two lists of names, separated by commas, but they will be untidy — there will be a comma at the end of each one. Can you work out how to write lines that slice the last comma off in each case, and add a full stop to the end? Have a look at the Useful string methods article for help.

var jsSolution = ‘var people = [\’Chris\’, \’Anne\’, \’Colin\’, \’Terri\’, \’Phil\’, \’Lola\’, \’Sam\’, \’Kay\’, \’Bruce\’];\n\nvar admitted = document.querySelector(\’.admitted\’);\nvar refused = document.querySelector(\’.refused\’);\n\nadmitted.textContent = \’Admit: \’;\nrefused.textContent = \’Refuse: \’\nvar i = 0;\n\ndo {\n if(people[i] === \’Phil\’ || people[i] === \’Lola\’) {\n refused.textContent += people[i] + \’, \’;\n } else {\n admitted.textContent += people[i] + \’, \’;\n }\n i++;\n} while(i people.length);\n\nrefused.textContent = refused.textContent.slice(0,refused.textContent.length-2) + \’.\’;\nadmitted.textContent = admitted.textContent.slice(0,admitted.textContent.length-2) + \’.\’;’;

For basic uses, for, while, and do…while loops are largely interchangeable. They can all be used to solve the same problems, and which one you use will largely depend on your personal preference — which one you find easiest to remember or most intuitive. Let’s have a look at them again.

We would recommend for, at least to begin with, as it is probably the easiest for remembering everything — the initializer, exit-condition, and final-expression all have to go neatly into the parentheses, so it is easy to see where they are and check that you aren’t missing them.