zoukankan      html  css  js  c++  java
  • ES6 ES7 ES8 相关用法

    set

    Set作为ES6新的数据解构(类数组),它的成员都是唯一的,因为最直接的使用场景便是去重、并、差、交集的使用。它使用的算法叫做“Same-value-zero equality”,类似精确运算的===,主要是NaN,这里它将两个视为相等

    // Set实例的常用方法和属性add,delete,clear,has、size
    const s = new Set(['A', 'B', 'C']);
    console.log(s); // Set { 'A', 'B', 'C' }
    console.log(s.has('A')) // true,bool值
    console.log(s.size) // 3
    console.log(s.clear()) // Set {}
    console.log(s.delete('A')) // true,bool值
    

    同时Set实例配合常用遍历方法,实现并、交、差集。

    const a =[1, 2, 3]
    const b = [2, 3, 4];
    // 并集
    const s = Array.from(new Set([...a, ...b])); // [ 1, 2, 3, 4 ]
    // 交集、差集
    const bSet = new Set(b);
    const interestSet = a.filter(v => bSet.has(v)); // [ 2, 3 ]
    const interestSet = a.filter(v => !bSet.has(v)); // [ 1 ]
    
    // 去除数组的重复成员
    [...new Set(array)]
    

    上面的方法也可以用于,去除字符串里面的重复字符。  

    [...new Set('ababbc')].join('')
    // "abc"  
    function dedupe(array) {
      return Array.from(new Set(array));
    }
    
    dedupe([1, 1, 2, 3]) // [1, 2, 3]
    

      

    求幂运算符(**),这是一个中缀例子,效仿自Ruby等语法,使用更简洁 Math.pow(3, 2) === 3 ** 2 // 9

    async、await异步解决方案

    async function asyncFunc(params) {
      const result1 = await this.login()
      const result2 = await this.getInfo()
    }
    

     Object.entries()  

    该方法会将某个对象的可枚举属性与值按照二维数组的方式返回。(如果目标对象是数组,则会将数组的下标作为键值返回)

    Object.entries({ one: 1, two: 2 })    //[['one', 1], ['two', 2]]
    Object.extries([1, 3])    //[['0', 1], ['1', 3]]
    

    Object.values()

    它的工作原理和Object.entries()方法很像,但是它只返回键值对中的值,结果是一维数组  

    Object.values({one: 1, two: 2})    // [1, 2]
    Object.values({3: 'a', 1: 'b', 2: 'c'}) // ['b', 'c', 'a'] 
    Object.extries([1, 3])     //[1, 3]
    

    字符串填充padStart()、padEnd()

    ES8提供了新的字符串填充方法,该方法可以使得字符串达到固定长度。它有两个参数,字符串目标长度和填充内容  

    'react'.padStart(10, 'm')      //'mmmmmreact'
    'react'.padEnd(10, 'm')       //' reactmmmmm'
    'react'.padStart(3, 'm')     // 'vue'
    

      

      

  • 相关阅读:
    Redis单机操作
    Scala
    RDD算子
    Python学习之旅(七)
    python学习之旅(六)
    python学习之旅(五)
    python学习之旅(四)
    python学习之旅(二)
    python学习之旅(三)
    Python学习之旅(一)
  • 原文地址:https://www.cnblogs.com/mary-123/p/12000981.html
Copyright © 2011-2022 走看看