본문 바로가기

독서/자바스크립트 코딩의 기술5

[자바스크립트] Object.entries()로 객체 순회하기 getAppliedFilters 선택한 조건을 알려주는 함수를 만든다. 책에서는 Map과 펼침 연산자를 사용하라고 하는데 Object.entries(object) 메서드가 같은 역할을 하기 때문에 entries 메서드를 사용해서 함수를 구현해보고자 한다. Object.entries(object) 객체의 [key, value] 쌍의 배열을 반환한다 const object1 = { a: 'somestring', b: 42 }; for (const [key, value] of Object.entries(object1)) { console.log(`${key}: ${value}`); } // Object.entries(object1) : [['a', 'somestring'], ['b', 42]] // conso.. 2022. 12. 28.
[자바스크립트] reduce로 api 배열 데이터 변환하기 API 데이터 변환 함수 API를 호출해서 배열 데이터를 받았다. 화면에서는 타입별로 데이터를 보여줘야 해서, 배열을 { 타입이름 : 아이템이름[] } 의 객체로 만드는 함수를 만들고 싶다. API 데이터 const res = [ { id: 1, name: 'A', typeId: 1, typeName: 'typeA' }, { id: 2, name: 'B', typeId: 2, typeName: 'typeB' } ]; 객체로 변환 const object = { typeA: ['A'], typeB: ['B'], } reduce 배열 데이터를 변환할 때 reduce를 유용하게 쓸 수 있다. 배열의 각 요소에 대해 주어진 reducer 함수를 실행하고, 결괏값을 반환한다. 문법 array.reduce(callb.. 2022. 12. 28.
[자바스크립트] 메서드 체이닝으로 active user에게만 이메일 보내기 체이닝 값을 다시 할당하지 않고 반환된 객체에 메서드를 즉시 호출하는 것 이메일 전송 함수 조건 : 활동 여부(active)가 true인 회원들에게만 이메일을 보내고 싶다. const users = [ { name: '가나', active: true, email: 'gana@kakao.com', }, { name: '다라', active: false, email: '', }, ]; before 메서드 호출 결과를 변수에 할당한다. const sendActiveUserEmail = (users) => { // 1. 활동이 없는 회원 제외 const activeUsers = users.filter(user => user.active); // 2. 이메일 주소 정규화 const emails = activeUs.. 2022. 12. 28.
[자바스크립트] find()와 커링으로 검색 함수 만들기 findByLibrary 특정 도서관에 근무하는 사서를 검색하는 함수를 만들고 싶다. 사서가 둘 이상인 곳은 없다고 가정하고, 1명만 찾을 수 있게 한다. find() + 커링 find는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환한다 find 문법 const found = array.find(element => element > 10); 이러한 find를 아래처럼 커링과 결합할 수 있다. findByLibrary 구현 const instructors = [ { name: '가나', libraries: ['A 도서관'], }, { name: '다라', libraries: ['B 도서관', 'C 도서관'], }, ]; const findByLibrary = library => instructor.. 2022. 12. 28.