* fix: remove example code from challenge seed * fix: remove declaration from solution * fix: added sum variable back in * fix: reverted description back to original version * fix: added examples to description section * fix: added complete sentence Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * fix: corrected typo Co-Authored-By: Manish Giri <manish.giri.me@gmail.com> * fix: reverted to original desc with formatted code * fix: removed unnecessary code example from description section Co-Authored-By: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> * fix: failiing test on iterate through array with for loop * fix: changed to Only change this line Co-Authored-By: Manish Giri <manish.giri.me@gmail.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Manish Giri <manish.giri.me@gmail.com> Co-authored-by: moT01 <tmondloch01@gmail.com>
2.3 KiB
2.3 KiB
id, title, challengeType, videoUrl, forumTopicId
id | title | challengeType | videoUrl | forumTopicId |
---|---|---|---|---|
5675e877dbd60be8ad28edc6 | Iterate Through an Array with a For Loop | 1 | https://scrimba.com/c/caeR3HB | 18216 |
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(/for\s*\(/g.test(code) && /myArr\s*\[/g.test(code));
- text: You should not attempt to directly assign the value 20 to <code>total</code>.
testString: assert(!code.replace(/\s/g, '').match(/total[=+-]0*[1-9]+/gm));
Challenge Seed
// 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 myArr = [ 2, 3, 4, 5, 6];
var total = 0;
for (var i = 0; i < myArr.length; i++) {
total += myArr[i];
}