freeCodeCamp/curriculum/challenges/english/02-javascript-algorithms-an.../basic-javascript/iterate-through-an-array-wi...

2.5 KiB

id title challengeType videoUrl forumTopicId
5675e877dbd60be8ad28edc6 Iterate Through an Array with a For Loop 1 https://scrimba.com/c/caeR3HB 18216

Description

A common task in JavaScript is to iterate through the contents of an array. One way to do that is with a for loop. This code will output each element of the array arr to the console:
var arr = [10,9,8,7,6];
for (var i = 0; i < arr.length; i++) {
   console.log(arr[i]);
}

Remember that arrays have zero-based indexing, which means the last index of the array is length - 1. Our condition for this loop is i < arr.length, which stops the loop when i is equal to length. In this case the last iteration is i === 4 i.e. when i becomes equal to arr.length and outputs 6 to the console.

Instructions

Declare and initialize a variable total to 0. Use a for loop to add the value of each element of the myArr array to total.

Tests

tests:
  - text: <code>total</code> should be declared and initialized to 0
    testString: assert(code.match(/(var|let|const)\s*?total\s*=\s*0.*?;?/));
  - text: <code>total</code> should equal 20
    testString: assert(total === 20);
  - text: You should use a <code>for</code> loop to iterate through <code>myArr</code>
    testString: assert(code.match(/for\s*\(/g).length > 1 && code.match(/myArr\s*\[/));
  - text: Do not set <code>total</code> to 20 directly
    testString: assert(!code.match(/total[\s\+\-]*=\s*(0(?!\s*[;,]?$)|[1-9])/gm));

Challenge Seed

// Example
var ourArr = [ 9, 10, 11, 12];
var ourTotal = 0;

for (var i = 0; i < ourArr.length; i++) {
  ourTotal += ourArr[i];
}

// Setup
var myArr = [ 2, 3, 4, 5, 6];

// Only change code below this line

After Test

(function(){if(typeof total !== 'undefined') { return "total = " + total; } else { return "total is undefined";}})()

Solution

var ourArr = [ 9, 10, 11, 12];
var ourTotal = 0;

for (var i = 0; i < ourArr.length; i++) {
  ourTotal += ourArr[i];
}

var myArr = [ 2, 3, 4, 5, 6];
var total = 0;

for (var i = 0; i < myArr.length; i++) {
  total += myArr[i];
}