DEV/Modern JavaScript 34

8-5. 배열과 객체 메서드 Part 2(Map과 Set)

(1) Map - 키-값 컬렉션기본 사용:// 생성const map = new Map();// 추가map.set('name', '홍길동');map.set('age', 25);map.set('job', '개발자');// 가져오기console.log(map.get('name')); // 홍길동console.log(map.get('age')); // 25// 존재 확인console.log(map.has('name')); // trueconsole.log(map.has('email')); // false// 삭제map.delete('job');console.log(map.has('job')); // false// 크기console.log(map.size); // 2// 전체 삭제map.clear();cons..

8-4. 배열과 객체 메서드 Part 2(객체 메서드(Object))

객체를 다루는 유용한 메서드(1) Object.keys()키 배열 가져오기:const person = { name: '홍길동', age: 25, job: '개발자'};const keys = Object.keys(person);console.log(keys); // ['name', 'age', 'job']// 순회keys.forEach(key => { console.log(`${key}: ${person[key]}`);});// name: 홍길동// age: 25// job: 개발자(2) Object.values()값 배열 가져오기:const person = { name: '홍길동', age: 25, job: '개발자'};const values = Object.values(person);con..

8-3. 배열과 객체 메서드 Part 2(sort)

배열 정렬 메서드(1) Sort 기본문자열 정렬:const fruits = ['banana', 'apple', 'cherry', 'date'];fruits.sort();console.log(fruits); // ['apple', 'banana', 'cherry', 'date']// 원본 배열이 변경됨 숫자 정렬(주의!):const numbers = [10, 5, 40, 25, 1000, 1];// 잘못된 방법numbers.sort();console.log(numbers); // [1, 10, 1000, 25, 40, 5]// 문자열로 변환되어 졍렬됨// 올바른 방법numbers.sort((a, b) => a - b);console.log(numbers); // [1, 5, 10, 25, 40, 1000]..

8-2. 배열과 객체 메서드 Part 2(some과 every)

배열의 조건 검사 메서드(1) some - 하나라도 만족하면기본 사용:const numbers = [1, 2, 3, 4, 5];// 3보다 큰 수가 하나라도 있나?const hasGreaterThan3 = numbers.some(num => num > 3);console.log(hasGreaterThan3); // true// 10보다 큰 수가 있나?const hasGreaterThan10 = numbers.some(num => num > 10);console.log(hasGreaterThan10); // false 실전 활용:const users = [ { name: '홍길동', age: 25, isAdmin: false }, { name: '김철수', age: 30, isAdmin: true },..

8-1. 배열과 객체 메서드 Part 2(reduce)⭐️

배열을 하나의 값으로 축약하는 강력한 메서드(1) reduce 기본구조:const result = array.reduce((누적값, 현재값, 인덱스, 배열) => { return 새로운 누적값;}, 초기값); 기본 사용 - 합계:const numbers = [1, 2, 3, 4, 5];const sum = numbers.reduce((acc, num) => { return acc + num;}, 0);console.log(sum); // 15// 더 간단하게const sum2 = numbers.reduce((acc, num) => acc + num, 0); 동작 과정:const numbers = [1, 2, 3, 4, 5];numbers.reduce((acc, num) => { console.log..

7-4. 배열과 객체 메서드 Part 1(find와 findIndex)⭐️

조건에 맞는 첫 번째 요소를 찾는 메서드(1) find - 요소 찾기기본 사용:const numbers = [1, 2, 3, 4, 5];// 3보다 큰 첫 번째 수const found = numbers.find(num => num > 3);console.log(found); // 4// 못 찾으면 undefinedconst notFound = numbers.find(num => num > 10);console.log(notFound); // undefined 객체 배열에서 찾기:const users = [ { id: 1, name: '홍길동', age: 25 }, { id: 2, name: '김철수', age: 30 }, { id: 3, name: '이영희', age: 28 }];// ID로 찾기c..

7-3. 배열과 객체 메서드 Part 1(filter)⭐️

조건에 맞는 요소만 걸러내는 메서드(1) filter 기본구조:const newArray = array.filter(function(요소, 인덱스, 배열) { return 조건; // true면 포함, false면 제외}); 기본 사용:const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];// 짝수만const evens = numbers.filter(num => num % 2 === 0);console.log(evens); // [2, 4, 6, 8, 10]// 5보다 큰 수const greaterThan5 = numbers.filter(num => num > 5);console.log(greaterThan5); // [6, 7, 8, 9, 10](2) 다양한 조건문자열..

7-2. 배열과 객체 메서드 Part 1(map)⭐️

배열의 각 요소를 변환하여 새 배열을 만드는 메서드(1) map 기본구조:const newArray = array.map(function(요소, 인덱스, 배열) { return 변환된 값;}); 기본 사용:const numbers = [1, 2, 3, 4, 5];const douubled = numbers.map(num => num * 2);console.log(doubled); // [2, 4, 6, 8, 10]// 원본은 변하지 않음console.log(nuumbers); // [1, 2, 3, 4, 5](2) 다양한 변환숫자 변환:const numbers = [1, 2, 3, 4, 5];const squared = numbers.map(n => n * n);console.log(squared); ..

7-1. 배열과 객체 메서드 Part 1(forEach)⭐️

(1) forEach 기본구조:array.forEach((요소, 인덱스, 배열) => { // 각 요소에 대해 실행할 코드}); 기본 사용:const numbers = [1, 2, 3, 4, 5];numbers.forEach((num) => { console.log(num);});// 1// 2// 3// 4// 5 인덱스 활용:const fruits = ['사과', '바나나', '오렌지'];fruits.forEach((fruit, index) => { console.log(`${index}: ${fruit}`);});// 0: 사과// 1: 바나나// 2: 오렌지 배열 자체 접근:const numbers = [1, 2, 3];numbers.forEach((num, index, array) => {..

6-2. 에러 처리(try-catch-finally)⭐️

(1) try-catch 기본구조:try { // 에러가 발생할 수 있는 코드} catch (error) { // 에러 처리} 예제:try { console.log('시작'); const result = undefinedVariable; console.log('이 코드는 실행 안 됨');} catch (error) { console.log('에러 발생: ', error.message);}console.log('프로그램 계속 실행');// 출력:// 시작// 에러 발생: undefinedVariable is not defined// 프로그램 계속 실행(2) 에러 정보 활용에러 객체 사용:try { JSON.parse('{ invalid }');} catch (error) { c..