当前位置: 首页> 财经> 股票 > ES6——Set集合和Map集合练习题

ES6——Set集合和Map集合练习题

时间:2025/7/14 3:00:36来源:https://blog.csdn.net/weixin_72939806/article/details/140487414 浏览次数:0次

根据前一篇文章,让ai给我们出下面的练习题:

Set 练习题

  1. 创建一个 Set 并添加数字 1 到 10,然后将其转换为数组并打印。
  2. 编写一个函数,接收一个数组作为参数,返回一个新的数组,新数组只包含原数组中唯一的元素(去重)。
  3. 创建一个 Set,添加多个元素,然后使用 delete 方法移除特定元素,打印剩余元素的数量。
  4. 使用 for...of 循环遍历一个 Set,打印每个元素。
  5. 将一个数组转换为 Set,然后添加一个新元素,再转换回数组,确保新元素位于数组末尾。

Map 练习题

  1. 创建一个 Map,包含键值对 'name': 'John''age': 30,然后使用 set 方法添加新的键值对 'city': 'New York'
  2. 编写一个函数,接收一个对象和一个键名,如果该键存在于 Map 中,则返回其值,否则返回一个错误消息。
  3. 创建一个 Map,然后使用 has 方法检查特定键是否存在。
  4. 使用 clear 方法清空一个 Map,然后检查 size 属性确认所有元素已被移除。
  5. 使用 for...of 循环遍历一个 Map,打印每个键和值。

解构练习题

  1. 解构一个数组 [1, 2, 3],使得第一个元素存储在变量 first 中,第二个元素存储在变量 second 中。
  2. 解构一个对象 {x: 10, y: 20},使得 x 存储在变量 width 中,y 存储在变量 height 中。
  3. 解构一个字符串 "hello",使得每个字符存储在单独的变量中。
  4. 解构一个 Map 的键值对,其中键名为 'name',值为 'Alice'
  5. 解构一个函数的返回值,该函数返回一个包含两个元素的数组,这两个元素分别是 xy 的值。

代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body></body></html>
<script>//### Set 练习题console.log("Set:");// 1. 创建一个 Set 并添加数字 1 到 10,然后将其转换为数组并打印。console.log("First Question:");let set = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);let setArray = Array.from(set);console.log(setArray);// 2. 编写一个函数,接收一个数组作为参数,返回一个新的数组,新数组只包含原数组中唯一的元素(去重)。console.log("Second Question:");function SetSecond(A) {let set = new Set();for (let i of A) {set.add(i);}let setArray = Array.from(set);return setArray;}let array = [3, 1, 55, 6, 3, 55, 20];console.log(SetSecond(array));// 3. 创建一个 Set,添加多个元素,然后使用 `delete` 方法移除特定元素,打印剩余元素的数量。console.log("THird Question:");function SetThird() {let set = new Set();set.add(2);set.add(3);set.add(5);set.add(1);set.delete(2);console.log(set.size);}SetThird();// 4. 使用 `for...of` 循环遍历一个 Set,打印每个元素。console.log("Fourth Question:");for (let i of set) {console.log(i);}// 5. 将一个数组转换为 Set,然后添加一个新元素,再转换回数组,确保新元素位于数组末尾。console.log("Fifth Question:");function FifthQuestion() {let array = [3, 5, 3, 7, 7, 8];let set = new Set();for (let i of array) {set.add(i);}set.add(2);array = Array.from(set);console.log(array);}FifthQuestion();console.log();// ### Map 练习题console.log("Map:");// 1. 创建一个 Map,包含键值对 `'name': 'John'` 和 `'age': 30`,然后使用 `set` 方法添加新的键值对 `'city': 'New York'`。console.log("First Question:");let map = new Map([['name', 'John'],['age', 18]]);map.set('city', 'New York');console.log(map);// 2. 编写一个函数,接收一个对象和一个键名,如果该键存在于 Map 中,则返回其值,否则返回一个错误消息。console.log("Second Question:");function SecondQuestion(Object, keyName) {for(let[key, value] of Object) {if (key == keyName) {return value;}}return false;}console.log(SecondQuestion(map,'name'));console.log(SecondQuestion(map,'play'));// 3. 创建一个 Map,然后使用 `has` 方法检查特定键是否存在。console.log("Third Question:");let map1 = new Map([['name', 'xiaoming'],['age', 19]]);console.log(map1.has('name'));// 4. 使用 `clear` 方法清空一个 Map,然后检查 `size` 属性确认所有元素已被移除。console.log("Fourth Question:");map1.clear();console.log(map1.size);// 5. 使用 `for...of` 循环遍历一个 Map,打印每个键和值。console.log("Fifth Question:");for(let [key, value] of map) {console.log(key, value);}console.log();// ### 解构练习题// 1. 解构一个数组 `[1, 2, 3]`,使得第一个元素存储在变量 `first` 中,第二个元素存储在变量 `second` 中。console.log("First Question:");let [first, second, third] = [1,2,3];console.log("First:", first, " Second:", second);// 2. 解构一个对象 `{x: 10, y: 20}`,使得 `x` 存储在变量 `width` 中,`y` 存储在变量 `height` 中。console.log("Second Question:");let obj = {x:10,y:20};let {x:width, y:height} = obj;console.log("width:", width, " height:", height);// 3. 解构一个字符串 `"hello"`,使得每个字符存储在单独的变量中。console.log("Third Question:");let [a,b,c,d,e] = "hello";console.log(e,d,c,b,a);// 4. 解构一个 Map 的键值对,其中键名为 `'name'`,值为 `'Alice'`。console.log("Fourth Question:");let map2 = new Map([['name', 'Alice']]);let [name, Alice] = map2;console.log("map:", name, Alice);// 5. 解构一个函数的返回值,该函数返回一个包含两个元素的数组,这两个元素分别是 `x` 和 `y` 的值。console.log("Fifth Question:");function Fifth() {return {x:10, y:20};}let {x, y} = Fifth();console.log(x,y);
</script>
关键字:ES6——Set集合和Map集合练习题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: