본문 바로가기
반응형

분류 전체보기126

reduce로 객체 같은 값끼리 분류 const myArray = [ { group: "one", color: "red" }, { group: "two", color: "blue" }, { group: "one", color: "green" }, { group: "one", color: "black" } ]; // 배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값); const groupValues = myArray.reduce((acc, current) => { acc[current.group] = acc[current.group] || []; acc[current.group].push(current.color); return acc; }, {}); // 위에서 만든 객체를 key로 돌려서 새로운.. 2021. 10. 26.
Vue 환경변수 Vue에서 환경변수를 사용하기 위해서는 프로젝트 루트경로에 .env 파일을 생성해야한다. .env 파일은 키 = 값 형태로 정의할 수 있고 반드시 앞에 VUE_APP_을 붙여줘야한다. 개발 모드와 배포 모드를 구분하여 환경을 구성해야 한다. VUE_APP_API_URL=http://localhost:8888 .env 파일은 .env.development와 .env.production 파일에 없는 공통 값을 지정하기 위해 사용한다. .env.development는 npm run serve를 별다른 옵션없이 사용하면 development 환경으로 인식하기 때문에 이 환경변수를 사용한다. .env.production 파일은 배포 모드에서만 동작한다. 환경변수를 테스트할때는 npm run serve를 다시 실행.. 2021. 9. 7.
CSS방법론 SMACSS (Scalable and Modular Architecture for CSS) SMACSS는 기본스타일(Base), 레이아웃스타일(Layout), 모듈스타일(Module), 상태스타일(State), 테마스타일(Theme)로 총 5가지로 나뉩니다. 이렇게 함으로 규칙과 패턴이 생기고 스타일을 이해하기 쉽게 정리합니다. 기본스타일(Base) 초기 설정을 말하며 reset.css도 포함됩니다. 아이디나 클래스 선택자를 포함하지 않으며 !important는 허용하지 않습니다. body, p, table, form, fieldset, legend, input, button ... { margin: 0; padding: 0; } 레이아웃스타일(Layout) 여러 요소를 배치하고 구별하는데 사용합니다. 주요 컴포넌트는 아이디, 하위 컴포넌트는 클래스를 사용합니다. 클래스명을 사용할때는 접두사로.. 2021. 8. 6.
querySelector로 index 조회 jquery의 index()처럼 특정 nodeList가 몇번째 index인지 조회하는 방법입니다. 아래와 같이 active class를 갖고있는게 몇번째 index인지 찾습니다. list1 list2 list3 list4 // jquery $('.nav .active').index(); // 2 // vanilla js Array.from(document.querySelectorAll('.nav li')).indexOf(document.querySelector('.active')); // 2 ES2015에서 추가된 Array.from() 메서드를 사용하면 NodeList나 HTMLCollection을 배열로 반환 받을 수 있습니다. 2021. 8. 3.
for loop에서 async/await 개발을 진행하다 보면, 각 Array에 대한 item을 비동기 처리를 해야하는 경우가 생깁니다. ES2017(ES8)의 async , await 등장으로 이전에 사용하던 callback 및 promise.then을 이용한 처리보다 더 직관적으로 비동기 처리를 할 수 있게 되었습니다. async function processArray(arr){ arr.forEach(item => { await func(item); }); } 이 코드는 syntax error가 발생합니다. 왜냐하면 processArray 함수는 async로 선언되었기 때문에 비동기 함수이지만 forEach내 익명 함수는 동기식이기 때문입니다. for...of문 사용 const a = [1,2,3]; async function process.. 2021. 7. 5.
배열 중복 제거 Set Set은 unique값만 저장할 수 있도록 하기 때문에 array에 넣게 되면, 중복되는 값이 사라집니다. Set 을 이용하는 것 대신에 Array.from 도 가능합니다. const array = ['0', 1, 2, '0', '0', 3]; [...new Set(array)]; Array.from(new Set(array)); // ['0', 1, 2, 3] Filter filter는 array 내의 각 element 에 조건을 주어, true 값을 return 한 element 만 모아서 새로운 array 를 만드는 것입니다. 반대로 중복값만 가져올 수도 있습니다. const array = ['0', 1, 2, '0', '0', 3]; array.filter(item, index) => ar.. 2021. 6. 30.
반응형