TIL.10シナリオ


秩序ある資料構造

配列内の値の検索

let hogwarts = ['gryffindor', 'slytherin', 'ravenclaw', 'hufflepuff']
  • For問
  • for (let v=0; v < hogwarts.length; v++){
    console.log(hogwarts[v]);
    }
    
     gryffindor
     slytherin
     ravenclaw
     hufflepuff
  • for ... of
  • for (let dormitory of hogwarts){
    console.log(dormitory);
    }
    
     gryffindor
     slytherin
     ravenclaw
     hufflepuff
  • forEach
  • hogwarts.forEach(dormitory => console.log(dormitory));
    
     gryffindor
     slytherin
     ravenclaw
     hufflepuff
    アレイマスターメソッド

    1. array.push(), array.pop()



  • push()は、既存の配列にコンテンツを追加するために使用されます(最後).()には1つ以上の要素が含まれています.
    위와 같이 배열에 push를 한 그 자체를 조회하면 push를 진행한 배열의 length가 표기된다.
    
    return을 할때 변화시킨 배열을 하는 것이 중요. (slice와 차이점)
    
    **push()** 는 원본 배열 자체를 변화시킨다. (이 역시 slice와 차이점)

  • pop()は、既存の配列のコンテンツ(後のコンテンツ)を削除するために使用されます.()中には元素が入っていません.
    위와 같이 배열에 pop를 한 자체를 조회하면 pop메서드로 삭제한 그 내용이 표시된다.
    
    이것 역시 return을 잘 해야 한다.  (slice와 차이점)
    
    **pop()** 역시 원본 배열 자체를 변화시킨다.(slice와 차이점)
  • 2. array.unshift(), array.shift()


  • unshift()は、既存の配列の一番前のコンテンツに要素を追加するために使用されます.push()と同様に、()には1つ以上の要素が含まれています.
  •   위와 같이 배열에 unshift를 한 그 자체를 조회하면 unshift 를 진행한 배열의 length가 표기된다.
    
      return을 할때 변화시킨 배열을 하는 것이 중요. (slice와 차이점)
    
      **unshift()** 는 원본 배열 자체를 변화시킨다. (이 역시 slice와 차이점)
  • shift()は、既存の配列の一番前の要素を削除するために使用されます.pop()と同様に、()には1つ以上の要素が含まれています.
  •   위와 같이 배열에 shift를 한 그 자체를 조회하면 shift 로 삭제한 그 내용 자체가 표시된다.
    
      return을 할때 변화시킨 배열을 하는 것이 중요. (slice와 차이점)
    
      **shift()** 는 원본 배열 자체를 변화시킨다. (이 역시 slice와 차이점)

    3. array.splice()


  • パッチ()は、配列の一部を削除したり、要素を置き換えたり、追加したりするために使用されます.
  • 接合も元の配列を変更します.
  • 自体を返すと、削除された内容が表示されます.
  • splice(開始インデックス、実行する要素数、追加する要素)
    hogwarts
    (4) ["gryffindor", "slytherin", "ravenclaw", "hufflepuff"]
    hogwartsという元の配列があります.ここではカット方法で
    "slytherin", "ravenclaw"  // 두 요소를 삭제  : splice(1,2) => 인덱스 1에서 두 개 지운다.
    hogwarts
    (2) ["gryffindor", "hufflepuff"] // 원본 배열은 이렇게 바뀐다.
    上記のようなホグワーツ配列では
    hogwarts.splice(2,2,"slytherin", "ravenclaw") // 삭제함과 동시에 추가
    []
    ただし、インデックス2が空のため、空の配列が出力されます.その後、元の配列が変換されます.
    hogwarts
    (4) ["gryffindor", "hufflepuff", "slytherin", "ravenclaw"]  
    
    // 인덱스 2 자리에 추가한 요소가 붙는다.

    4. array.slice()


  • slice()は、上記の方法とは異なります.前の方法と違って、この子は既存の配列には触れません.既存の配列をコピーし、コピーした配列を切り取って使います.
  • slice(インデックス開始、インデックス終了)]sliceはインデックス開始からインデックス終了までカットします.
    終了インデックスは省略できますが、省略すると開始インデックスから配列の末尾に切り抜きます.
    let hogwarts = ["gryffindor", "slytherin", "ravenclaw", "hufflepuff"]
    hogwarts.slice(1,3)
    (2) ["slytherin", "ravenclaw"]  // 기존 배열을 복사해서 자른다.
    hogwarts
    (4) ["gryffindor", "slytherin", "ravenclaw", "hufflepuff"] // 기존 배열은 그대로.