ES6-键值对

1.什么是键值对?

        键值对('key = value')        顾名思义,每一个键会对应一个值。

2.举例

   a:身份证号和你本人是绑定的关系。每一个身份证号(键)都会对应一个人(值)。

   b:我们在登录微信或者游戏时,需要输入手机号验证身份。系统会向该手机号发送一条验证短信。

      这里的手机号码(键),对应的接收用户就是值。

      每个键对应响应的值,当按下响应的键时,就会输出响应的结果。

      键:就是存的值的编号。

      值:就是要存放的数据。

3.Set集合

Set对象是值的集合,可以按照插入的顺序迭代它的元素。Set 集合中的元素只会出现一次,即Set集合中的元素是唯一的。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //ES6提供了新的数据结构Set
        //它类似与数组,但是成员的值都是唯一的,没有重复的值

        //创建Set数据结构
        //const s = new Set()

        //Set函数可以接收一个数组作为参数,用来初始化
        const s = new Set([1,2,3,4,5,4,5])
        console.log(s); //Set(5) {1,2,3,4,5}
        console.log(s.size); //5

        //利用Set进行数组去重
        let arr = [3,4,4,5,6,6]
        let set = new Set(arr)
        console.log(set); //Set(4) {3, 4, 5, 6}
        console.log([...set]); //[3, 4, 5, 6]
    </script>
</body>
</html>

ES6提供了Set构造函数,创建Set对象

Set集合 - 值(唯一的)的集合

4.forEach方法

1.forEach应用场景:用于遍历数组,相当于for循环另一种写法。

2.语法:数组.forEach( function(value,index,arr){ // 算法 })

3.forEach必须提供一个参数

       a.value:每次遍历到的数组元素

       b.index:每次遍历到的数组的下标

       c.arr:数组

       d.forEach

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let arr = [1,6,9,16,73,54]
        //累加
        // let sum = 0;
        // for(let i = 0; i < arr.length; i++){
        //     sum =+ arr [i];
        // }
        // console.log(sum);

        let sum = 0
        arr.forEach(function(value){
            sum += value
        })
        console.log(sum);
    </script>
</body>
</html>

3.注意点:
    a.回调函数执行次数 == 数组长度(数组中有多少元素,回调函数就会执行几次)
    b.forEach函数没有返回值
    c.回调函数不需要return(就算手动ruturn,也不会结束循环)

4.filter方法和forEach方法的参数完全相同。
   filter主要是根据条件进行筛选,满足条件的值会被return返回,需要一个变量接收

5.Map对象

Map对象用来保存键值对。

在Map对象中任何值(对象或者原始值)都可以作为一个键(任何数据类型)或一个值。

基本Map方法

        new Map():创建新的Map对象。

        set():为Map对象中的键设置值。

        get():获取Map对象中键的值。

        keys():返回Map对象中键的数组。

        values():返回Map对象中值的数组。

        entries():返回Map对象中键/值对的数组。

        clear():删除Map中的所有元素。

        delete():删除由键指定的元素。

        has():如果键存在,则返回true。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 【Map()属性】
        // Map.size:返回Map中元素的数量。
        //【示例】
        // 创建对象
        const apples = {name:'Apples'};
        const peaches = {name:'Peaches'};
        const oranges = {name:'Oranges'};
        //创建新的map对象(new map())
        const fruits = new Map();
        //向map对象添加成员(set())
        fruits.set(apples,500);
        fruits.set(peaches,600);
        fruits.set(oranges,300);

        //获取map对象中键中的值(get())
        console.log(fruits.get(apples)); //500

        //获取map对象中键的数组(keys())
        console.log(fruits.keys()); //mapIterator {{…}, {…}, {…}}

        //获取对象中值的数组(values())
        console.log(fruits.values()); //mapIterator {500, 600, 300}

        //获取map对象中键值对的数组(entries())
        console.log(fruits.entries); 

        //返回map中元素的数量(map.size)
        console.log(fruits.size); //3
    </script>
</body>
</html>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6-ES12是JavaScript的不同版本,每个版本都引入了新的特性和改进。以下是一些ES6到ES12的新特性的示例: ES6(2015年): 1. 箭头函数:简化了函数的语法。 2. 模板字面量:使用反引号(`)来创建多行字符串和插入变量。 3. 解构赋值:从对象或数组中提取值并赋给变量。 4. let和const:引入块级作用域的变量声明方式。 5. Promise:处理异步操作的更强大的方式。 ES7(2016年): 1. Array.prototype.includes():判断数组是否包含某个元素。 2. 指数操作符:使用双星号(**)进行指数运算。 ES8(2017年): 1. async/await:更简洁地处理异步操作。 2. Object.values()和Object.entries():从对象中提取值或键值对。 ES9(2018年): 1. Rest/Spread属性:通过...语法来处理函数参数和对象字面量。 2. Promise.prototype.finally():在Promise结束时执行操作。 ES10(2019年): 1. Array.prototype.flat()和Array.prototype.flatMap():用于处理嵌套数组的方法。 2. Object.fromEntries():将键值对列表转换为对象。 ES11(2020年): 1. 可选链操作符(Optional chaining):简化了访问深层嵌套属性的方式。 2. Nullish coalescing操作符:提供了一种默认值的设定方式。 ES12(2021年): 1. Promise.any():在多个Promise中返回最快解决的结果。 2. Logical Assignment Operators:提供了逻辑运算符与赋值的结合方式。 当然,以上仅是一些主要的新特性,ES6-ES12还有其他许多有用的功能和语法改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值