ES6——Set集合和Map集合练习题
根据前一篇文章,让ai给我们出下面的练习题:
Set 练习题
- 创建一个 Set 并添加数字 1 到 10,然后将其转换为数组并打印。
- 编写一个函数,接收一个数组作为参数,返回一个新的数组,新数组只包含原数组中唯一的元素(去重)。
- 创建一个 Set,添加多个元素,然后使用
delete
方法移除特定元素,打印剩余元素的数量。 - 使用
for...of
循环遍历一个 Set,打印每个元素。 - 将一个数组转换为 Set,然后添加一个新元素,再转换回数组,确保新元素位于数组末尾。
Map 练习题
- 创建一个 Map,包含键值对
'name': 'John'
和'age': 30
,然后使用set
方法添加新的键值对'city': 'New York'
。 - 编写一个函数,接收一个对象和一个键名,如果该键存在于 Map 中,则返回其值,否则返回一个错误消息。
- 创建一个 Map,然后使用
has
方法检查特定键是否存在。 - 使用
clear
方法清空一个 Map,然后检查size
属性确认所有元素已被移除。 - 使用
for...of
循环遍历一个 Map,打印每个键和值。
解构练习题
- 解构一个数组
[1, 2, 3]
,使得第一个元素存储在变量first
中,第二个元素存储在变量second
中。 - 解构一个对象
{x: 10, y: 20}
,使得x
存储在变量width
中,y
存储在变量height
中。 - 解构一个字符串
"hello"
,使得每个字符存储在单独的变量中。 - 解构一个 Map 的键值对,其中键名为
'name'
,值为'Alice'
。 - 解构一个函数的返回值,该函数返回一个包含两个元素的数组,这两个元素分别是
x
和y
的值。
代码如下:
<!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>
原文地址:https://blog.csdn.net/weixin_72939806/article/details/140487414
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!