高程第六章总结

358 阅读4分钟

高程第六章

主要内容

  • 对象:

    • 对象的两种创建方法:
      • 字面量创建
      • new操作符和Object构造函数
  • 数组与定义数组

    • 创建数组的方法:

      • 使用Array函数:

        let colors = new Array(20); //这里是创建了一个长度为20的数组
        let colors = new Array("red", "blue", "green"); //这里是包含3个字符串的数组
        
      • 使用Array.from:Array.from() 的第一个参数是一个类数组对象,即任何可迭代的 结构,或者有一个 length 属性和可索引元素的结构。

        1// 字符串会被拆分为单字符数组 
        console.log(Array.from("Matt")); // ["M", "a", "t", "t"]
        2// Array.from()对现有数组执行浅复制
        const a1 = [1, 2, 3, 4]; 
        const a2 = Array.from(a1); 
        console.log(a1); // [1, 2, 3, 4]
        alert(a1 === a2); // false
        3// arguments对象可以被轻松地转换为数组
        function getArgsArray() { return Array.from(arguments); }console.log(getArgsArray(1, 2, 3, 4)); // [1, 2, 3, 4]
        
    • 栈方法:

      push() 方法接收任意数量的参数,并将它们添加到数组末尾,返回 数组的最新长度。

      pop() 方法则用于删除数组的最后一项,同时减少数组的 length 值,返回被删除的项,

      shift() ,它会删除数组的第一项并返回它,然后数组长度减1

      unshift() 相反的操作:在数组开头添加任意多个值,然后返回新的数组长度

    • 排序方法:

      reverse() 方法就是将数组元素反向排列

      sort() 会按照升序重新排列数组元素,即最小的值在 前面,最大的值在后面,但是会受影响,所以一般带上一个比较函数,

      function compare(value1, value2) { 
          if (value1 < value2) {
              return -1; 
          } else if (value1 > value2) {
              return 1; 
          } else { 
                  return 0; } 
      }
      这个比较函数可以适用于大多数数据类型,可以把它当作参数传给
      sort() 方法,如下所示:
      let values = [0, 1, 5, 10, 15]; values.sort(compare); alert(values); // 0,1,5,10,15
      
    • 删除 splice() 传2个参数:要删除的第一个元素的位置和 要删除的元素数量。可以数组中删除任意多个元素,比如 splice(0, 2) 会删除前两个元素。

    • 插入。需要给 splice() 传3个参数:开始位置、0(要删除的元素 数量)和要插入的元素,可以在数组中指定的位置插入元素。第三个 参数之后还可以传第四个、第五个参数,乃至任多个要插入的元 素。比如, splice(2, 0, "red", "green") 会从数组位置2开 始插入字符串 "red" 和 "green"

    • 替换。 splice() 在删除元素的同时可以在指定位置插入新元素, 同样要传入3个参数:开始位置、要删除元素的数量和要插入的任意多个元素。要插入的元素数量不一定跟删除的元素数量一致。比如, splice(2, 1, "red", "green") 会在位置2删除一个元素,然 后从该位置开始向数组中插入 "red" 和 "green" 。

    迭代方法

  • every() :对数组每一项都运行传入的函数,如果对每一项函数都 返回 true ,则这个方法返回 true 。

  • filter() :对数组每一项都运行传入的函数,函数返回 true 的

    项会组成数组之后返回。

  • forEach() :对数组每一项都运行传入的函数,没有返回值。

  • map() :对数组每一项都运行传入的函数,返回由每次函数调用的

    结果构成的数组。

  • some() :对数组每一项都运行传入的函数,如果有一项函数返回

  • true ,则这个方法返回 true 。

  • Map,WeakMap,Set,WeakSet

归并方法

  • reduce() 和 reduceRight() 。这两个方法都会迭代数组的所有项,并在此基础上 构建一个最终返回值。 reduce() 方法从数组第一项开始遍历到最后一 项。而 reduceRight() 从最后一项开始遍历至第一项。

  • Map,WeakMap,Set,WeakSet,这些类型为组织应用程序数据和简化内存管理提供了新能

    力。,这是第4版的新东西,以后有时间研究

    小结:

    主要讲了对象和数组的创建方法,以及操作其中值的方法,非常非常重要,迭代方法和归并方法要单独做探究

本文使用 mdnice 排版