ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • <JavaScript> 코딩테스트를 위한 핵심 문법 정리 - 배열
    무기/자바스크립트 2021. 11. 4. 23:53
    728x90

    🎯 일정에 당장 급한 코딩테스트가 생겨 빠르게 정리해보는 JS 핵심 문법

    📌 참고자료 - 모던 자바스크립트 Deep Dive (이웅모 / 위키북스)

     

    1. 배열(Array)

    1-1. 순회

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

     

    1-2. 삭제

    const arr1 = [1, 2];
    
    let result = arr1.pop();
    console.log(result); // 2
    console.log(arr1); // [1]
    // pop 메서드는 원본 배열을 변경함
    
    const arr2 = [1, 2, 3, 4, 5];
    
    arr2.splice(1, 2);
    console.log(arr2); // [1, 4, 5]
    console.log(arr2.length); // 3
    // splice 메서드는 원본 배열을 변경함
    
    const arr3 = [1, 2, 3];
    
    arr3.slice(0, 1); // -> [1]
    console.log(arr3); // [1, 2, 3]
    // slice 메서드는 원본 배열을 변경하지 않음

     

    1-3. 추가

    const arr = [1];
    
    arr.push(2);
    console.log(arr); // [1, 2]
    // push 메서드는 원본 배열을 변경함
    
    const result = arr.concat(3);
    console.log(arr); // [1, 2]
    console.log(result); // [1, 2, 3]
    // concat 메서드는 원본 배열을 변경하지 않음

    *원본 배열을 직접 변경하지 않는 메서드의 사용을 추천

     

    1-4. join

    const arr = [1, 2, 3, 4];
    
    arr.join(); // -> '1,2,3,4';
    arr.join(''); // -> '1234';
    arr.join(':'); // -> '1:2:3:4';

     

    1-5. reverse - 원본 배열이 변경됨

    const arr = [1, 2, 3];
    const result = arr.reverse();
    
    console.log(arr); // -> [3, 2, 1]
    console.log(result); // -> [3, 2, 1]

     

    1-6. includes

    const arr = [1, 2, 3];
    
    arr.includes(2); // -> true
    
    arr.includes(100); // -> false

     

    1-7. 배열 고차 함수

    1-7-1. sort / reverse - 원본 배열이 변경됨

    const fruits = ['Banana', 'Orange', 'Apple'];
    
    fruits.sort();
    
    console.log(fruits); // ['Apple', 'Banana', 'Orange']
    
    fruits.reverse();
    
    console.log(fruits); // ['Orange', 'Banana', 'Apple']
    
    const points = [40, 100, 1, 5, 2, 25, 10];
    
    points.sort((a, b) => a - b);
    console.log(points); // [1, 2, 5, 10, 25, 40, 100]

     

    1-7-2. forEach

    const numbers = [1, 2, 3];
    
    // forEach 메서드는 원본 배열을 변경하지 않지만 콜백 함수를 통해 원본 배열 변경가능
    numbers.forEach((item, index, arr) => { arr[index] = item ** 2; });
    console.log(numbers); // [1, 4, 9]

     

    1-7-3. map

    const numbers = [1, 4, 9];
    
    const roots = numbers.map(item => Math.sqrt(item));
    
    console.log(roots); // [1, 2, 3]
    
    console.log(numbers); // [1, 4, 9]

     

    1-7-4. filter

    const numbers = [1, 2, 3, 4, 5];
    
    const odds = numbers.filter(item => item % 2);
    console.log(odds); // [1, 3, 5]

     

    728x90
And bytes to code before I sleep.