diff --git a/curriculum/challenges/english/25-front-end-development/quiz-javascript-maps-and-sets/67358be1c7903489c0a7db78.md b/curriculum/challenges/english/25-front-end-development/quiz-javascript-maps-and-sets/67358be1c7903489c0a7db78.md index 0c9007b514a..aa04f8111a8 100644 --- a/curriculum/challenges/english/25-front-end-development/quiz-javascript-maps-and-sets/67358be1c7903489c0a7db78.md +++ b/curriculum/challenges/english/25-front-end-development/quiz-javascript-maps-and-sets/67358be1c7903489c0a7db78.md @@ -33,29 +33,29 @@ A collection that does not allow deletion of its elements. #### --answer-- -A collection of unique values, where each value can only occur once. +A collection in which a value can only occur once. ### --question-- #### --text-- -Which of the following is NOT a characteristic of a JavaScript Set? +Which of the following methods is available in Maps but not in Sets? #### --distractors-- -It stores elements in insertion order. +`has()`. --- -It only stores unique values. +`clear()`. --- -It allows iteration. +`values()`. #### --answer-- -It allows duplicate values. +`set()`. ### --question-- @@ -105,28 +105,23 @@ How do you check if a Set contains a certain value? #### --text-- -What will the following code output? - -```js -const mySet = new Set([1, 1, 2, 3]); -console.log(mySet.size); -``` +Which of these is a great use case for Sets? #### --distractors-- -4 +Managing key-value pairs in a database. --- -0 +Creating ordered lists of items. --- -1 +Storing hierarchical data structures in the browser local storage. #### --answer-- -3 +Eliminating duplicates from an array. ### --question-- @@ -148,7 +143,7 @@ A Set-like collection that prevents values from being removed. #### --answer-- -A Set-like collection that only stores objects and allows garbage collection. +A Set-like collection that only stores objects. ### --question-- @@ -297,7 +292,7 @@ What does the `size` property of a Map return? #### --distractors-- -The number of unique keys in the Map. +The number of indexes in the Map. --- @@ -331,7 +326,7 @@ A Map-like collection that automatically sorts its keys. #### --answer-- -A Map-like collection with objects as keys that allows garbage collection. +A Map-like collection with weak references to the keys. ### --question-- @@ -413,41 +408,41 @@ How can you iterate over the values in a Set? #### --distractors-- -Using `.forEach()`, or `.map()`. +By using the `.map()` method. --- -Using `.reduce()` or `.filter()`. +By using the `.reduce()` method. --- -Using `.keys()` or a loop. +By using the `.filter()` method. #### --answer-- -Using `.forEach()` or a loop. +By using the `.forEach()` method. ### --question-- #### --text-- -What does `Map.prototype.get()` do? +Which two methods of Sets return a `SetIterator` that contains the values of a certain Set? #### --distractors-- -It retrieves all keys in the Map. +`entries()` and `values()`. --- -It sets a new key-value pair in the Map. +`forEach()` and `values()`. --- -It returns the size of the Map. +`has()` and `add()`. #### --answer-- -It retrieves the value for a specified key. +`keys()` and `values()`. ### --question-- diff --git a/curriculum/challenges/english/25-front-end-development/review-javascript-maps-and-sets/6723d027b02e4cc6ee5944da.md b/curriculum/challenges/english/25-front-end-development/review-javascript-maps-and-sets/6723d027b02e4cc6ee5944da.md index 11bd2abef3c..5eb609662e4 100644 --- a/curriculum/challenges/english/25-front-end-development/review-javascript-maps-and-sets/6723d027b02e4cc6ee5944da.md +++ b/curriculum/challenges/english/25-front-end-development/review-javascript-maps-and-sets/6723d027b02e4cc6ee5944da.md @@ -26,6 +26,8 @@ console.log(set); // Set { 1, 2, 3, 4, 5 } - `delete()`: Removes an element from the `Set`. - `has()`: Checks if an element exists in the `Set`. - `clear()`: Removes all elements from the `Set`. + - `keys()` and `values()`: Both returns a `SetIterator` that contains the values of the `Set`. They are the same because `keys()` is an alias for `values()`. + - `forEach()`: for iterating over the values of the `Set`. ## Weaksets in JavaScript @@ -60,13 +62,15 @@ console.log(map); // Map(3) { 'flower' => 'rose', 'fruit' => 'apple', 'vegetable - `has()`: Checks if a key exists in the `Map`. - `clear()`: Removes all key-value pairs from the `Map`. +Note that both Maps and Sets have the `size` property that returns the number of unique elements in them. + ## WeakMaps in JavaScript - A `WeakMap` is a collection of key-value pairs just like `Map`, but with weak references to the keys. The keys must be an object and the values can be anything you like. ## Maps vs WeakMaps -- WeakMaps are similar to WeakSets in that they only store objects and the references to those objects are "weak." +- WeakMaps are similar to WeakSets in that they only store objects and the references to those objects are "weak". # --assignment--