自学内容网 自学内容网

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

根据前一篇文章,让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>

原文地址:https://blog.csdn.net/weixin_72939806/article/details/140487414

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!