* fix: remove isHidden flag from frontmatter * fix: add isUpcomingChange Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com> * feat: hide blocks not challenges Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@gmail.com> Co-authored-by: Ahmad Abdolsaheb <ahmad.abdolsaheb@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];
}