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
'무기 > 자바스크립트' 카테고리의 다른 글
<JavaScript> addEventListener 함수의 콜백 함수 (0) | 2021.12.03 |
---|---|
<JavaScript> 코딩테스트를 위한 핵심 문법 정리 - 문자열 (0) | 2021.11.05 |
<JavaScript> 코딩테스트를 위한 핵심 문법 정리 - 정규표현식 (0) | 2021.11.05 |
<JavaScript> 객체 생성 방식의 종류와 특징 (0) | 2021.10.27 |
<JavaScript> 바닐라 JS - Nomad Coders (0) | 2021.10.26 |