Vue的三個點es6知識,擴展運算符


Vue中的三個點在不同情境下的意思

  • 操作數組
    //里面放自己定義的方法
    methods: {
      /**
       * 把數組中的元素孤立起來
       */
      iClick() {
        let iArray = ['1', '2', '3'];
        console.log(...iArray);
        // 打印結果  1 2 3
      },

      /**
       * 在數組中添加元素
       */
      iClick3() {
        let iArray = ['1', '2', '3'];
        console.log(['0', ...iArray, '4']);
        // 打印結果  ["0", "1", "2", "3", "4"]
      },

      /**
       * 在數組中刪除元素(取出一個元素)
       * 與結構賦值的結合
       * 如果將擴展運算符用於數組賦值,只能放在參數的最后一位,否則會報錯。
       */
      iClick8() {
        const [first, ...rest] = [1, 2, 3, 4, 5];
        console.log(first);
        // 打印結果 1
        console.log([...rest]);
        // 打印結果 [2, 3, 4, 5]

        const [one, ...last] = ["foo"];
        console.log(one);
        //打印結果 foo
        console.log([...last]);
        //打印結果 []
      },

      /**
       * 數組的合並
       */
      iClick6() {
        // ES6 的寫法
        var arr1 = [0, 1, 2];
        var arr2 = [3, 4, 5];
        arr1.push(...arr2);
        console.log(arr1);
        //  打印結果 [0, 1, 2, 3, 4, 5]
      },

      /**
       * 數組的合並(推薦使用)
       */
      iClick7() {
        var arr1 = [0, 1, 2];
        var arr2 = [3, 4, 5];
        console.log([...arr1, ...arr2]);
        //  打印結果 [0, 1, 2, 3, 4, 5]
      },

      /**
       * 將字符串轉成數組
       */
      iClick9() {
        let iString = 'woshizhongguoren';
        console.log([...iString]);
        //  打印結果 ["w", "o", "s", "h", "i", "z", "h", "o", "n", "g", "g", "u", "o", "r", "e", "n"]
      },

      /**
       * Map 和 Set 結構, Generator 函數
       */
      iClick10() {
        let map = new Map([
          [1, 'one'],
          [2, 'two'],
          [3, 'three'],
        ]);
        let arr = [...map.keys()];
        console.log(arr);
        //  打印結果 [1, 2, 3]

      },


      /**
       * 當做參數傳遞
       * 和直接傳數組的區別
       */
      iClick4() {
        let iArray = ['1', '2', '3'];
        //注意傳的時候,就要三個點
        this.hanshu(...iArray);
      },
      hanshu(...iArray) {
        let ooo = 1;
        console.log(...iArray);
        //  打印結果 1 2 3
      },
      
      /**
       * 求出最大值
       */
      iClick5() {
        let iArray = [1, 2, 3, 99, 44, 66, 21, 85, 77];
        let ooo = Math.max(...iArray);
        console.log(ooo);
        //  打印結果 99
      },

      /**
       * 如果對沒有iterator接口的對象,使用擴展運算符,將會報錯。
       */
      iClick11() {
        let obj = {
          name: 'zhh',
          age: '20'
        }
        console.log([...obj]);
      },

    }


  • 操作對象
 methods: {

      /**
       * 添加一個屬性
       */
      method3() {
        let a = {age: 18, id: 10};
        // 把 name 屬性,放到對象中
        let c = {name: 'zhh', ...a};
        console.log(c);
        //  打印結果  {name: "zhh", age: 18, id: 10}

      },

      /**
       * 修改一個屬性
       */
      method2() {
        let a = {name: 'zhh', age: 18, id: 10};
        //先拿到a, 后面的name:zhh1,把 a 中name 的值替換掉了
        let c = {...a, name: 'zhh1'};
        console.log(c);
        // 打印結果  {name: "zhh1", age: 18, id: 10}

      },

      /**
       * 刪除一個屬性(拿出屬性或者對象)
       */
      method1() {
        let a = {name: 'zhh', age: 18, id: 10};
        let {name, ...c} = a;
        console.log(name, c);
        //  打印結果 zhh {age: 18, id: 10}
      },



    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM