[bootstrap] Collapse (콜랩스) 메뉴 접기/펴기
·
과거의 이력/bootstrap
위아래로 아코디언(accordion) 형식으로 메뉴를 펼치고 접는 로직을 짜면서 메소드를 정리하고자 부트스트랩의 콜랩스 예제를 정리했다. 아코디언(Accordion) 타입 예제 HTML 삽입 미리보기할 수 없는 소스 1. href or data-target 첫번째 예시는 클릭했을때 펼칠 영역을 href를 사용하여 선언하였고, 두번째 예시는 클릭하였을때 펼칠 영역을 data-target을 사용하여 선언하였다. 접힌 대상은 두가지 속성을 사용하여 요소를 표시하고 숨길 수 있다. 다만, 두가지 속성을 이용할때 data-toggle="collapse" 선언은 필수이다. 2. role 컨트롤의 HTML 요소가 버튼이 아닌 경우에는 role에 속성을 추가해야한다. 위의 예시의 경우 div 속성이므로 role에 ta..
[javascript] Map 알아보기 (set, get 메소드 사용하기)
·
과거의 이력/javascript
프로그래머스 해시문제를 풀고 다른사람 풀이를 살펴보던중 Map을 사용한 풀이를 보았다. Map역시 ES6에 도입된 문법이다. 이번엔 Map의 key value를 사용해보는 예제를 정리해보려 한다. 나의 풀이는 https://pro-jm.tistory.com/52 여기를 참고. 1. Map() 이란? Map()은 key-value 페어로 이루어져있다. key를 사용하여 value를 get, set 할 수 있다. key는 중복될 수 없다. (하나의 key에 하나의 value값만 가질 수 있다는 뜻) key로 사용 가능한 데이터타입은 string, symbol, object, function 이 있다. 2. 메소드 개념 set() set 메소드를 사용하여 Map에 새로운 객체를 추가할 수 있다. (key, v..
[javascript] 누산기 reduce 알아보기 (알고리즘 자주출몰)
·
과거의 이력/javascript
알고리즘 문제에 많은 사람들이 풀이법으로 reduce를 많이 사용하고있다. for문이나 카운트를 위해 별도 변수를 선언하지 않아도 아웃풋을 출력해낼 수 있기때문에 코드가 훨씬 직관적인것 같다. 정말 강력한 기능이라고 하는 reduce를 정리하자면 다음과 같다. 1. 개념 reduce는 배열 요소를 순회하며 리듀서 함수를 실행하고 누적된 하나의 값을 반환한다. 즉 함수의 반환값은 누산기에 할당되고, 배열을 순회하는 과정에 해당 값이 유지되므로 하나의 값을 반환하는 것이다. 2. 인자값 리듀서 함수가 인자로 받는것은 다음과 같다. 누산기 현재값 현재 인덱스 원본배열 MDN에서 제공하는 정보는 다음과 같다. arr.reduce(callback[, initialValue]) callback : 배열의 각 요소에..
[javascript] for in 과 for of 사용법(차이)
·
과거의 이력/javascript
막상 쓰려고하면 두개가 헷갈려서 기록한다. for ... in for ... of 반복문으로 사용되는 for in 과 for of는 ES6부터 추가되었다. 우선 두개의 차이는 다음과 같다. for in - 객체 탐색 for of - 배열 요소 탐색(Array뿐 아니라 Map, Set, String 에도 사용 가능하다.) 그럼 예시를 살펴보자 1. for in const param = { a: 1, b: 2, c: 3 } 위와같은 param이라는 변수가 있을때, >> a, b, c 라는 출력값을 얻기위해서는 다음과 같은 로직을 짜면 된다. for (let item in param) { console.log(item) } // output >> a, b, c 해당 로직을 보면 item이 객체의 키값을 반환하..
[javascript] for문 제발 그마아안! (map 사용하여 한줄로 끝내기)
·
과거의 이력/javascript
더이상 for문 그마아안! 한줄로 끝내는 map 구문 기록하기! 예를들어, 사용자의 id와 age 정보가 담긴 userInfo 변수가 있다고 가정해보면 나는 해당 객체에서 userAge만 뽑아 새로운 변수에 담고싶다. 주로 이럴때 사용하는것이 for문이다. 예를들면 이런식이겠다. /* userInfo변수의 값이 [{id: "1", age: "20"}, {id: "2", age: "32"}, {id: "3", age: "29"}] 일때 */ let userAge = [] for (let i = 0; i < userInfo.length; i++) { userAge[i] = userInfo[i]['age'] } 하지만 map을 사용하여 한줄로 끝내보겠다. // userInfo변수의 값이 [{id: "1", a..
[javascript] 자바스크립트 객체(Object타입)란..?
·
과거의 이력/javascript
ag grid 에서 지원하는 API를 사용하던 도중 콘솔로그에 값을 출력해보니 [Object Object] 라는 값이 출력되었다. 세부 내용을 꺼내보려 하다가 문득 객체이란 무엇인지 예전에 공부했던 내용을 기록하려 한다. 1. 객체란? (Object 란?) 객체란 여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입이며, Key - Value 쌍을 저장할 수 있는 구조이다. 자바스크립트는 객체 기반 프로그래밍 언어이며, JS를 이루고 있는 대부분은 객체이다. 객체를 생성하면 하나의 값만 담을 수 있는 변수의 단점을 커버할 수 있다. 아래 예제를 적어보았다. // 객체를 사용하지 않을 경우 let name = 'OhJeongMin' let job = 'developer' let rank = 1 ..
[javascript] html2canvas로 영역 캡쳐하기 (scroll 영역부분이 캡쳐가 안된다면?)
·
과거의 이력/javascript
개념 화면의 일부 영역을 이미지 데이터로 변환하여 사용해야할 필요가 있어서 자바스크립트 브라우저 화면 캡쳐 라이브러리인 html2canvas 를 사용하기로 했다. * 공식사이트 https://html2canvas.hertzen.com/ 나는 버튼 클릭이벤트가 발생하면 특정 영역을 이미지로 따와야했기 때문에 해당 함수 호출부분에 아래와같은 코드를 추가하였다. html2canvas(textArea, { }).then(canvas => { const textToImg = canvas.toDataURL() }) 나는 이미지를 서버에 저장할필요가 없이 변환된 데이터값만 필요했기때문에 textToImg 변수로 담아 사용하였다. 만약 서버에 이미지를 다운받아야 한다면, 아래와 같이 사용할 수 있다. html2canv..
[javascript] Array.forEach 자주하는 실수(some, every 사용하기)
·
과거의 이력/javascript
자주하는 실수 오늘 설명할 forEach, some, every는 특정 조건을 만족하는지 배열 내부의 원소를 순회하면서 검사한다. some은 특정 조건이 만족할 경우 순회가 중단되고 every는 특정 조건을 만족하지 않을 경우 순회가 중단된다. 반면에 forEach는 순회가 중단되지 않는다. 즉! break를 지원하지 않는다는것! 설명 해시 알고리즘 문제를 풀면서 배열에 forEach문을 이용해 코딩을 했다. 중도에 조건을 만족하면 ealry return 하도록 코드를 짰는데 조건을 만족해도 배열 끝까지 명령문이 계속 수행이 되더라,, 흐음. 그래서 찾아보니 array.forEach()는 break를 지원하지 않는데 중도에 return을 시키려니 원하는 결과가 안나왔던 것이다. 예를들어 아래와같은 코드를..