JS 기초 강의(ES5+) - # Array 배열(8)

Minsoo·2021년 8월 20일
0

배열 (Array)

1. 선언 (Declaration)

  • const arr1 = new Array();
    const arr2 = [1, 2];

2. Index position

  • const fruits = ['🍎', '🍌'];
    console.log(fruits);

    Array(2)
    0: "🍎"
    1: "🍌"
    length: 2
    [[Prototype]]: Array(0)

  • console.log(fruits.length);

    2

  • 대괄호 이용해서 데이터에 접근
    console.log(fruits[0]);
    console.log(fruits[1]);
    console.log(fruits[2]);

    🍎
    🍌
    undefined

  • 마지막 데이터에 접근할 때 사용
    console.log(fruits[fruits.length - 1]);

    🍌

3. Looping over an array (출력해보기)

  • for

    for (let i = 0; i < fruits.length; i++) {
      console.log(fruits[i]);
    }

    🍎
    🍌

  • for of

    for (let fruit of fruits) {
      console.log(fruit);
    }

    🍎
    🍌

  • forEach - (api) callback / tip. 함수가 정의된 곳으로 가서 확인하면서 사용하는 습관 기르기

    fruits.forEach((fruit) => console.log(fruit));

    🍎
    🍌

4. 추가, 삭제, 복사

  • push: add an item to the end

    fruits.push('🍓', '🍑');
    console.log(fruits);

    ["🍎", "🍌", "🍓", "🍑"]

  • pop: remove an item from the end

    const poped = fruits.pop();
    fruits.pop();
    console.log(fruits);

    (2) ["🍎", "🍌"]

  • unshift: add an item to the beginning

    fruits.unshift('🍓', '🍋');
    console.log(fruits);
  • shift: remove an item from the beginning

    fruits.shift();
    fruits.shift();
    console.log(fruits);

    shift, unshift are slower than pop, push (기존에 있던 데이터를 계속 변형시키기 때문)

  • splice: remove an item by index position

    fruits.push('🍓', '🍑', '🍋'); // 이모지도 문자열
    console.log(fruits);
    fruits.splice(1, 1);
    console.log(fruits);

    몇개 지울건지 지정하지 않으면 모두 지워버림 ex) fruits.splice(1);

    fruits.splice(1, 1, '🍏', '🍉'); // 지우고 데이터 넣기
    fruits.splice(1, 0, '🍏', '🍉'); // 지우지 않고 데이터 넣기
    console.log(fruits);
  • 합치기 (combine two arrays)

    const fruits2 = ['🍐', '🥥'];
    const newFruits = fruits.concat(fruits2);
    console.log(newFruits);

5. Searching

  • indexOf: find the index

    console.log(fruits);
    console.log(fruits.indexOf('🍎')); 
    console.log(fruits.indexOf('🍉'));
    console.log(fruits.indexOf('🥥'));

    배열 안에 해당하는 값이 없으면 "-1"이 출력됨

  • includes

    console.log(fruits.includes('🍉'));
    console.log(fruits.includes('🥥')); 
  • lastIndexOf

    fruits.push('🍎');
    console.log(fruits);

    첫번째로 해당하는 값을 만나면 바로 리턴함

    console.log(fruits.indexOf('🍎'));

    마지막으로 해당하는 값을 만나면 바로 리턴함

    console.log(fruits.lastIndexOf('🥥'));

0개의 댓글