Koans-07_Array



  • 整列


  • 配列の数を知る方法:arr.length;

  • 空の配列を設定:[];

  • アレイタイプの決定:ArraysArray//true or false;

  • [配列複写](Add Array)[配列複写](Delete Array)

  • arr[x] = y;//x indexにy値を追加します.
    let arr = [1, 2, 3]
    arr[3] = 5;
    console.log(arr) // [1, 2, 3, 5]

  • push pop unshift shift
    相関TIL

  • arr.slice([begin[, end]])
    パラメータが正の場合
    (前のindex「0」から.)

    パラメータが負の場合
    (後ろから「-1」で始まる.)

    ソースをコピーするには:
    arr.slice(0) or arr.slice()

  • 配列が関数のパラメータとして渡されると、参照が渡されます.
     const arr = ['zero', 'one', 'two', 'three', 'four', 'five'];
    
     function passedByReference(refArr) {
       refArr[1] = 'changed in function';
     }
     passedByReference(arr);
    
    console.log(arr) // (6) ["zero", "changed in function", "two", "three", "four", "five"]

  • arrを新しい変数に割り当てるとアドレスが割り当てられ、sliceにコピーすると新しい同じ配列が設定されます.
     const arr = ['zero', 'one', 'two', 'three', 'four', 'five'];
     
     const assignedArr = arr;
     assignedArr[5] = 'changed in assignedArr';
     expect(arr[5]).to.equal('changed in assignedArr'); // 주소를 할당해서 원본이 변한다.
     
     const copiedArr = arr.slice();
     copiedArr[3] = 'changed in copiedArr'; 
     expect(arr[3]).to.equal('three');// 새로운 주소로 복사해서 원본이 변하지 않는다.