2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								id: 5ddb965c65d27e1512d44dba
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								title: Part 35
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								challengeType: 0
							 
						 
					
						
							
								
									
										
										
										
											2021-01-13 03:31:00 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								dashedName: part-35
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --description--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The data that we currently pass to `createTextNode()`  is `Math.abs(difference) + ' Calorie ' + surplusOrDeficit` .
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Some people consider this a little cumbersome and prefer to use template literals instead.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Template literals are enclosed in backticks (\`\`), and JavaScript expressions and variables can be embedded by enclosing them in `${}` .
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								For example, ``console.log(` Hello ${firstName}, today is ${Date.now()}`)`` is the same as writing ` console.log('Hello ' + firstName + ', today is ' + Date.now())`.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Convert the data inside of `createTextNode()`  to be a template literal.
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --hints--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								See description above for instructions.
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```js
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								assert(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  code
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    .replace(/\s/g, '')
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    .match(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      /document\.createTextNode\(\`\$\{Math\.abs\(difference\)\}Calorie\$\{surplusOrDeficit\}\`/
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								);
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --seed--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## --before-user-code--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```html
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								<!DOCTYPE html>  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< html >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < meta  charset = "utf-8"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < title > < / title > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < meta  name = "description"  content = ""  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < meta  name = "viewport"  content = "width=device-width, initial-scale=1"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < link  rel = "stylesheet"  href = "styles.css"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < body > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < div  class = "container" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < form  id = "calorie-form" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < h2  class = "center" > Calorie Counter< / h2 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < div  class = "grid" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          < legend > Sex< / legend > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          < div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < input  type = "radio"  name = "sex"  id = "female"  value = "F"  checked  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < label  for = "female" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              Female (2,000 calories)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < / label > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              < input  type = "radio"  name = "sex"  id = "male"  value = "M"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              < label  for = "male" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                Male (2,500 calories)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								              < / label > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < div  class = "grid"  id = "entries" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Breakfast
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          < input 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            type="number"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            min="0"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            class="cal-control"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            id="breakfast"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          />< br  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Lunch
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          < input  type = "number"  min = "0"  class = "cal-control"  id = "lunch"  / > < br  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Dinner < input  type = "number"  min = "0"  class = "cal-control"  id = "dinner"  / > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < button  type = "button"  class = "btn-add"  id = "add" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Add Entry
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < button  type = "submit"  class = "btn-solid"  id = "calculate" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Calculate
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < button  type = "button"  class = "btn-outline"  id = "clear" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          Clear
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < / form > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < div  id = "output" > < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / body > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / html >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## --after-user-code--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```html
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / body > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / html >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## --seed-contents--
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```html
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  document.getElementById('calorie-form').onsubmit = calculate;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function calculate(e) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    e.preventDefault();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const total = Array.from(document.getElementsByClassName('cal-control'))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .map(meal => Number(meal.value))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .reduce((accumulator, currentValue) => accumulator + currentValue, 0);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const maxCalories = document.getElementById('female').checked ? 2000 : 2500;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const difference = total - maxCalories;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const surplusOrDeficit = difference > 0 ? 'Surplus' : 'Deficit';
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const output = document.getElementById('output');
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const result = document.createElement('h3');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const resultText = document.createTextNode(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      Math.abs(difference) + ' Calorie ' + surplusOrDeficit
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-11-27 19:02:05 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# --solutions--
  
						 
					
						
							
								
									
										
										
										
											2019-12-07 17:11:14 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```html
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  document.getElementById('calorie-form').onsubmit = calculate;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  function calculate(e) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    e.preventDefault();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const total = Array.from(document.getElementsByClassName('cal-control'))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .map(meal => Number(meal.value))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      .reduce((accumulator, currentValue) => accumulator + currentValue, 0);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const maxCalories = document.getElementById('female').checked ? 2000 : 2500;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const difference = total - maxCalories;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const surplusOrDeficit = difference > 0 ? 'Surplus' : 'Deficit';
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const output = document.getElementById('output');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const result = document.createElement('h3');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    const resultText = document.createTextNode(
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      `${Math.abs(difference)} Calorie ${surplusOrDeficit}` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    );
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```