* Increase language clarity in the challenge. * Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.english.md Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com> * fix/make-suggested-changes-on-behalf-of-author * fix/add-empty-line-back-in
2.5 KiB
2.5 KiB
id, title, challengeType, videoUrl
id | title | challengeType | videoUrl |
---|---|---|---|
5675e877dbd60be8ad28edc6 | Iterate Through an Array with a For Loop | 1 | https://scrimba.com/c/caeR3HB |
Description
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
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];
}