[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..
[Lv.1] Hash - 완주하지 못한 선수
·
과거의 이력/프로그래머스
https://github.com/ohjeongmin/Programmers_Algorithm/tree/main/src/javascript/hash GitHub - ohjeongmin/Programmers_Algorithm Contribute to ohjeongmin/Programmers_Algorithm development by creating an account on GitHub. github.com 나의 풀이 function solution(p, c) { p.sort() c.sort() while(p.length) { let pVal = p.pop() if(pVal !== c.pop()) return pVal } } 풀이 이유 1. 중복값이 있을 경우 중복값이 있을 경우, 앞 인덱스보다 뒷 인덱스로..
[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] 비동기함수 setTimeout, 비동기 작업단위 Promise
·
과거의 이력/javascript
동기는 동시에.. 비동기는 안..동시에..? 매일 써도 헷갈리는 개념이라 기록해두려고 한다. 1. 동기 / 비동기 핵심 특징 동기 > 동시에 여러 작업을 수행할 수 없다. > 흐름을 예측하기 쉽다. 먼저, 나중에 수행되는 것들이 명확하다. 비동기 > 동시에 여러 작업을 수행할 수 있다. > 흐름을 예측하기 어렵다. 무엇이 먼저 완료될지 보장할 수 없다. 2. setTimeout 비동기로 동작하는 함수중 대표적인 예는 setTimeout 함수이다. setTimeout 함수는 아무일도 하지않고 기다리기만 하는 자바스크립트 함수중 하나이다. function testFunc(param) { console.log(param); } setTimeout( testFunc(), 2000, 1 ); setTimeout(..