...拡張子の使用

2983 ワード

...拡張子の使用
  • restパラメータ
  • は、関数が無限のパラメータ
  • を受信することを可能にする.
  • restパラメータは最後のパラメータにすぎません.No者は
  • をエラーします.
    function <function name> (…args)
    og
    function <function name> (a,b, …args)
    

    3.応用
    function sumOf(){
        var sum = 0; 
        for (var i = 0; i < arguments.length; i++){
             sum += arguments[i];
        }
        console.log(sum)
        return sum;
    }
    
    function exectueWithSpread2(type, ...params) {
        var actions = {
            sum: sumOf
        }
        if (actions[type]) {
            actions[type].apply(null, params)
        }
    }
    
  • クローンオブジェクト
  • var obj = {
        id: 1,
        name: 'test'
    }
    
    var clone = {...obj}
    clone.name = 'clone tester'
    console.log(clone.name)
    console.log(obj.name)
    
  • マージオブジェクト
  • var obj1 = {
        a: 1,
        b: 2
    }
    
    var obj2 = {
        c: 1,
        d: 2
    }
    
    var obj3 = {...obj1, ...obj2}
    console.log(obj3)
    
  • クローン配列
  • var arr = [1, 2, 3]
    var cloneArr = [...arr]
    cloneArr.push(4)
    console.log(cloneArr)
    console.log(arr)
    
  • 連結配列
  • var arr1 = [1, 2, 3]
    var arr2 = [4, 5, 6]
    var arr3 = [...arr1, ...arr2]
    console.log(arr3)
    
  • 変換反復器オブジェクトは配列オブジェクト
  • である.
    var map = new Map([[2, 3], [1, 2], [3, 4]])
    var arr = [...map]
    console.log(arr)
    
  • 多次元配列
  • を平らにする
  • 拡張子を使用して配列を平らにし、2 D配列
  • のみを適用します.
    const arr = [11, [22, 33], [44, 55], 66];
    const flatArr = [].concat(...arr); //=> [11, 22, 33, 44, 55, 66]
    
  • 二次元以上の配列
  • function flattenArray(arr) {
      const flatten = [].concat(...arr);
      return flatten.some(item => Array.isArray(item)) ? 
        flattenArray(flatten) : flatten;
    }
    
    const arr = [11, [22, 33], [44, [55, 66, [77, [88]], 99]]];
    const flatArr = flattenArray(arr); 
    //=> [11, 22, 33, 44, 55, 66, 77, 88, 99]
    

    リファレンスリンク