zoukankan      html  css  js  c++  java
  • ES6常用方法

    1、includes

    test_includes() {
      const str = 'abcdefg'
      const arr = ['abc', 'cde', 'de', 'efg']
      let result = null
      // ***********************************
      // 字符串str中是否包含字符串de
      result = str.includes('de')
      // true
      console.log(result)
      // ***********************************
      // 字符串str从索引3开始是否包含字符串de
      result = str.includes('de', 3)
      // true
      console.log(result)
      // ***********************************
      // 数组arr中是否包含元素efg
      result = arr.includes('efg')
      // true
      console.log(result)
      // ***********************************
      // 数组arr从索引1开始是否包含元素cde
      result = arr.includes('cde', 1)
      // true
      console.log(result)
    }

    2、startsWith

    test_startsWith() {
      const str = 'abcdefg'
      let result = null
      // ***********************************
      // 字符串str是否以abc开头
      result = str.startsWith('abc')
      // true
      console.log(result)
      // ***********************************
      // 字符串str从索引2开始是否以cde开头
      result = str.startsWith('cde', 2)
      // true
      console.log(result)
    }

    3、endsWith

    test_endsWith() {
      const str = 'abcdefghijklmn'
      let result = null
      // 字符串str是否以mn结尾
      result = str.endsWith('mn')
      // true
      console.log(result)
      // ***********************************
      // 字符串的前5个元素是否以de结尾
      result = str.endsWith('de', 5)
      // true
      console.log(result)
    }

    4、repeat

    test_repeat() {
      const str = 'abc'
      let result = null
      // 参数为0时输出空串
      result = str.repeat(0)
      // true
      console.log(result === '')
      // ***********************************
      // 重复1次str
      result = str.repeat(1)
      // abc
      console.log(result)
      // ***********************************
      // 重复2次str
      result = str.repeat(2)
      // abcabc
      console.log(result)
    }

    5、spread

    // ...运算符
    test_spread() {
      const arr1 = [1, 2, 3, 4, 5, 6]
      // 复制数组arr1得到新数组arr2
      const arr2 = [...arr1]
      // [1, 2, 3, 4, 5, 6]
      console.log(arr2)
      // ***********************************
      const arr3 = ['a', 'b']
      const arr4 = ['c']
      const arr5 = ['d', 'e']
      // 合并arr3、arr4、arr5三个数组得到新数组arr6
      const arr6 = [...arr3, ...arr4, ...arr5]
      // ["a", "b", "c", "d", "e"]
      console.log(arr6)
      // ***********************************
      // 与解构赋值结合
      const [temp, ...arr7] = [100, 'a', 'b', 'c']
      // 100
      console.log(temp)
      // ["a", "b", "c"]
      console.log(arr7)
      // ***********************************
      // 将字符串转为真正的数组
      const arr9 = [...'hello']
      // ["h", "e", "l", "l", "o"]
      console.log(arr9)
    }

    5.1、spread运算符复制对象数组时,复制前后数组内元素对应地址没变

    test_spread2() {
      const arr1 = ['a', 'b', 'c', 'd']
      const arr2 = [...arr1]
      // false
      console.log(arr1 === arr2)
      arr2[0] = 'A'
      // ["a", "b", "c", "d"]
      console.log(arr1)
      // ["A", "b", "c", "d"]
      console.log(arr2)
      // ***********************************
      // 若数组元素是对象,那么复制后元素的地址没变
      const arr3 = [{ name: 'name1' }, { name: 'name2' }]
      const arr4 = [...arr3]
      // false
      console.log(arr3 === arr4)
      arr4[0].name = 'NAME1'
      // 0: {name: "NAME1"}
      // 1: {name: "name2"}
      console.log(arr3)
      // 0: {name: "NAME1"}
      // 1: {name: "name2"}
      console.log(arr4)
    }

    6、Array.of

    'test_Array.of'() {
      // 将一组值转换为数组
      const arr1 = Array.of(1, 2, 3)
      // [1, 2, 3]
      console.log(arr1)
      // ***********************************
      const arr2 = Array.of(1, 'a', 'b')
      // [1, "a", "b"]
      console.log(arr2)
    }

    7、fill

    test_fill() {
      // fill()为数组实例的方法
      const arr1 = ['a', 'b', 'c']
      // 将数组arr1中的每个元素替换成100
      arr1.fill(100)
      // 数组arr1的值变为[100, 100, 100]
      console.log(arr1)
      // ***********************************
      const arr2 = ['a', 'b', 'c', 'd']
      // 从数组元素索引1开始将每个元素替换为ABC
      arr2.fill('ABC', 1)
      // 数组arr2变为["a", "ABC", "ABC", "ABC"]
      console.log(arr2)
      // ***********************************
      const arr3 = ['A', 'B', 'c', 'd', 'E']
      // 从数组元素索引1开始到索引3(不包含3)结束,将索引区间的元素都替换为Q
      arr3.fill('Q', 1, 3)
      // 数组arr3变为["A", "Q", "Q", "d", "E"]
      console.log(arr3)
    }

    8、keys

    test_keys() {
      // keys数组实例的方法
      const arr1 = ['a', 'b', 'c', 'd']
      // 对键名的遍历,这里是对数组的索引遍历
      for (const key of arr1.keys()) {
        // 依次输出0 1 2 3
        console.log(key)
      }
    }

    9、values

    test_values() {
      // values为数组实例的方法
      const arr1 = ['a', 'b', 'c', 'd']
      // 对数组元素进行遍历
      for (const val of arr1.values()) {
        // 依次输出a b c d
        console.log(val)
      }
    }

    10、entries

    test_entries() {
      // entries为数组实例的方法
      const arr1 = ['a', 'b', 'c', 'd']
      // 对数组的键值对遍历
      for (const [key, val] of arr1.entries()) {
        // 依次输出0:a 1:b 2:c 3:d
        console.log(key + ':' + val)
      }
    }

    11、set

    test_set() {
      // Set不允许元素重复,会自动去重复
      const set1 = new Set([1, 2, 2, 3, 3, 4, 5])
      // 5
      console.log(set1.size)
      // 将set1转换为数组
      const arr1 = [...set1]
      // [1, 2, 3, 4, 5]
      console.log(arr1)
      // ***********************************
      const arr2 = [1, 2, 2, 3, 3, 4, 5]
      // 对数组arr2去重复后返回一个新的数组
      const arr3 = [...new Set(arr2)]
      // [1, 2, 3, 4, 5]
      console.log(arr3)
    }
  • 相关阅读:
    [poj] 3068 "Shortest" pair of paths || 最小费用最大流
    [poj] 3686 The Windy's || 最小费用最大流
    [poj] 1235 Farm Tour || 最小费用最大流
    [poj] 3281 Dining || 最大流
    [poj] 3041 Asteroids || 最小点覆盖=最大二分图匹配
    luogu P1072 Hankson 的趣味题
    二分图最佳匹配
    181106 solution
    luogu P2216 [HAOI2007]理想的正方形
    luogu P4362 [NOI2002]贪吃的九头龙
  • 原文地址:https://www.cnblogs.com/liuyang-520/p/13698917.html
Copyright © 2011-2022 走看看