All Tracks/quiz javascript higher order functions/
Đang tải...
Hướng dẫn thử thách
1 / 1

JavaScript Higher Order Functions Quiz

To pass the quiz, you must correctly answer at least 18 of the 20 questions below. # --quizzes-- ## --quiz-- ### --question-- #### --text-- Which of the following statements about JavaScript higher-order functions is NOT true? #### --distractors-- Higher-order functions can greatly enhance code readability and maintainability by enabling functional programming techniques. --- Higher-order functions like map, filter, and reduce are powerful tools for array manipulation, but they are not unique to functional programming. --- Higher-order functions may introduce complexity in understanding code, but they can also lead to more expressive and concise solutions. #### --answer-- All functions in JavaScript, including those that do not take or return other functions, can be classified as higher-order functions. ### --question-- #### --text-- What is a factory function in the context of higher order functions? #### --distractors-- A function that creates new variables. --- A function that only works with strings. --- A function that automatically generates code comments. #### --answer-- A function that returns a new function based on specific parameters ### --question-- #### --text-- After code execution, what will be the value of `forEachRes` and `mapRes`? ```js const numbers = [1, 1, 1, 1, 1]; let sum = 0; const forEachRes = numbers.forEach(num => { return (sum += num); }); const mapRes = numbers.map(num => { return (sum += num); }); ``` #### --distractors-- `forEachRes` is `undefined` and `mapRes` is `[1,2,3,4,5]` --- `forEachRes` is `0` and `mapRes` is `[1,2,3,4,5]` --- `forEachRes` is `5` and `mapRes` is `[1,2,3,4,5]` #### --answer-- `forEachRes` is `undefined` and `mapRes` is `[6,7,8,9,10]` ### --question-- #### --text-- What is the result of this code? ```js [, undefined, 'a', 'b', { 20: 5 }].sort(); ``` #### --distractors-- Unsupported elements for an array to be sorted, hence error. --- Callback not supplied, hence error. --- ```js [empty, 'a', 'b', undefined, { '20': 5 }] ``` #### --answer-- ```js [{ '20': 5 }, 'a', 'b', undefined, empty] ``` ### --question-- #### --text-- Which of the following describes a callback function in JavaScript? #### --distractors-- A function that is called immediately upon declaration. --- A function that is invoked with a specific context. --- A function that returns another function. #### --answer-- A function passed as an argument to another function, to be executed by that function's logic. ### --question-- #### --text-- What is the result of using `reduce()` on an array? #### --distractors-- A boolean indicating whether any elements meet a condition. --- An array with all elements reduced by specified callback function. --- An array of booleans. #### --answer-- It varies depending on the accumulator's initial value and the callback function. ### --question-- #### --text-- How does the `sort()` method behave if no compare function is provided in numerical sorting? #### --distractors-- It fills the empty slots with `null`. --- It returns an array of special characters. --- It sorts the array in reverse order. #### --answer-- It sorts the array as strings based on UTF-16 code units. ### --question-- #### --text-- What is the purpose of the `some()` method in JavaScript? #### --distractors-- To create a new array with the results of a function applied to each element. --- To iterate through an array without producing a result. --- To reduce an array to a single value based on a callback function. #### --answer-- To determine if any elements in an array pass a specified test. ### --question-- #### --text-- Which of the following is a valid example of method chaining? #### --distractors-- ```js Math.random(); ``` --- ```js array.push(1).pop(); ``` --- ```js console.log('Hello'); ``` #### --answer-- ```js str.toLowerCase().trim().replace(' ', '_'); ``` ### --question-- #### --text-- What is the output of the following code? ```js let numbers = [2, 4, 8, 10]; numbers.forEach(function(number) { console.log(number % 2); }); ``` #### --distractors-- `2 4 8 10` --- `null null null null` --- `1 2 4 5` #### --answer-- `0 0 0 0` ### --question-- #### --text-- Which of the following is a benefit of method chaining? #### --distractors-- It inherently optimizes performance by reducing the execution time of functions. --- It eliminates the need for temporary variables, but may increase memory usage in some cases. --- It allows for error handling and debugging to be more straightforward. #### --answer-- It promotes simplified syntax and more readable code by allowing multiple operations in a single expression. ### --question-- #### --text-- How can you sort an array of objects by a specific property using the `sort` method? #### --distractors-- The `sort` method cannot sort objects. --- Use the `reverse` method after sorting. --- Convert the objects to strings and sort them. #### --answer-- Use a compare function that compares the property values. ### --question-- #### --text-- In method chaining, what is a common practice to enhance clarity and debugging? #### --distractors-- Use fewer methods in the chain. --- Avoid chaining methods that return only primitive values. --- Use only built-in methods. #### --answer-- Break long chains into multiple steps. ### --question-- #### --text-- What is a potential downside of using method chaining excessively in your code? #### --distractors-- It makes the code run slower. --- It prevents the use of comments. --- It makes the file size larger. #### --answer-- It can make the code harder to debug. ### --question-- #### --text-- Which method would you use to determine if all elements in an array are strings? #### --distractors-- `some()` --- `everyInstance()` --- `filter()` #### --answer-- `every()` ### --question-- #### --text-- What will be the value of `originalArray` after the following code is run? ```js const originalArray = [{ id: 1 }, { id: 2 }, { id: 3 }]; const filteredArray = originalArray.filter(item => item.id > 1); filteredArray[0].id = 4; ``` #### --distractors-- `[{ id: 1 }, { id: 2 }, { id: 3 }]` --- `[{ id: 1 }]` --- `[{ id: 4 }, { id: 2 }, { id: 3 }]` #### --answer-- `[{ id: 1 }, { id: 4 }, { id: 3 }]` ### --question-- #### --text-- What will be the value of `shortWords` after the following code is run? ```js const words = ['apple', 'banana', 'pear', 'kiwi']; const shortWords = words.filter(word => word.length <= 5); ``` #### --distractors-- `[]` --- `['pear', 'kiwi']` --- `['apple', 'banana']` #### --answer-- `['apple', 'pear', 'kiwi']` ### --question-- #### --text-- What is the purpose of providing an initial value as an argument to the `reduce()` method? #### --distractors-- To set the length of the array. --- To limit the number of iterations. --- To specify the return type of the function. #### --answer-- To define the starting value for the accumulator. ### --question-- #### --text-- Can the `map` method be used on objects that are not arrays? #### --distractors-- Yes, it can be used on any object. --- Yes, but only on objects with numeric properties. --- It depends on the JavaScript version. #### --answer-- No, it is specifically designed for arrays. ### --question-- #### --text-- What is the primary purpose of the `map` method in JavaScript? #### --distractors-- To sort an array and return a new array while maintaining the original order. --- To filter elements from an array and remove or add elements based on a condition. --- To find a specific element in an array and return its index along with the element. #### --answer-- To create a new array containing the results of calling a provided function on each element in the starting array.
Vượt qua bài kiểm tra hiện tại để mở khóa bài tiếp theo.
main.js
UTF-8 • Tab Size: 2Kiểm tra bài:⌘↵
Test Output
Thử thách này không có bài test tự động. Hãy quan sát kết quả trực tiếp ở khung Preview.