* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
		
			
				
	
	
	
		
			3.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.6 KiB
		
	
	
	
	
	
	
	
id, title, challengeType, dashedName
| id | title | challengeType | dashedName | 
|---|---|---|---|
| 5ddb965c65d27e1512d44db7 | Part 32 | 0 | part-32 | 
--description--
Notice how if total is less than maxCalories, difference is a negative number.
We want to show the absolute value of the difference so it displays "300" rather than "-300".
Wrap the difference in a Math.abs() function.
--hints--
See description above for instructions.
assert(
  /const\s*resultText\s*=\s*document\.createTextNode\(\s*Math\.abs\(\s*difference\s*\)\s*\)/.test(
    code
  )
);
--seed--
--before-user-code--
<!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>
--after-user-code--
  </body>
</html>
--seed-contents--
<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(difference);
  }
</script>
--solutions--
<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));
  }
</script>