map(), filter(), and reduce(), that take other functions as arguments for processing collections of data.
Read the following code:
FBPosts.filter(function(post) {We have written this with
return post.thumbnail !== null && post.shares > 100 && post.likes > 500;
})
filter() to at least make it somewhat readable. Now compare it to the following code which uses arrow function syntax instead:
FBPosts.filter((post) => post.thumbnail !== null && post.shares > 100 && post.likes > 500)This code is more succinct and accomplishes the same task with fewer lines of code.
realNumberArray and store the new array in the variable squaredIntegers.
squaredIntegers should be a constant variable (by using const).
testString: 'getUserInput => assert(getUserInput("index").match(/const\s+squaredIntegers/g), "squaredIntegers should be a constant variable (by using const).");'
- text: squaredIntegers should be an array
testString: 'assert(Array.isArray(squaredIntegers), "squaredIntegers should be an array");'
- text: 'squaredIntegers should be [16, 1764, 36]'
testString: 'assert.deepStrictEqual(squaredIntegers, [16, 1764, 36], "squaredIntegers should be [16, 1764, 36]");'
- text: function keyword was not used.
testString: 'getUserInput => assert(!getUserInput("index").match(/function/g), "function keyword was not used.");'
- text: loop should not be used
testString: 'getUserInput => assert(!getUserInput("index").match(/(for)|(while)/g), "loop should not be used");'
- text: 'map, filter, or reduce should be used'
testString: 'getUserInput => assert(getUserInput("index").match(/map|filter|reduce/g), "map, filter, or reduce should be used");'
```