본문 바로가기

증감률(성장률) 계산하기 - LAG OVER 참고 ) https://yahwang.github.io/posts/74 SELECT A.MONTH , A.TOTAL_SALES , CASE WHEN A.GROWTH_RATE 0 THEN ROUND(A.GROWTH_RATE, 2) || '%' ELSE '-' END AS GR_RATE FROM ( WITH MONTH_SUMMARY AS ( SELECT EXTRACT(MONTH FROM DT) AS MONTH, SUM(SALES) AS TOTAL_SALES FROM SAMPLE GROUP BY EXTRACT(MONTH FROM DT) ) SELECT MONTH, TOTAL_SALES, 100 * (TOTAL_SALES - LAG(TOTAL_SALES,1) OVER (ORDER BY MONTH)) / LAG(..
[JS] 배열 합치기, join 응용 var buffer = { entries : [], add : function(s) { this.entries.push(s); }, concat : function() { return this.entries.join(""); } }; var source = ["867", "-", "5309"]; source.forEach(function(s) { buffer.add(s); }); buffer.entries.join(""); result : "867-5309"
자주 쓰는 jquery 잘 정리해놓은 깃헙 사이트 인용합니다. https://github.com/demun/FrontEndStudy/blob/master/document/Jquery/docs/01_00_jquery_%EA%B8%B0%EC%B4%88%EB%AC%B8%EC%84%9C.md jQuery 선택자 선택자명설명 $('tag') Tag라는 이름의 모든 태그 요소를 선택 $(‘.class’) class라는 클래스명의 모든 클래스 요소를 선택 $(‘#id’) id라는 아이디명의 아이디 요소를 선택 $(‘div li’) div에 있는 li 모두 선택 $(‘div > p’) div의 p태그라는 직계 자식을 선택 $(this) 현재 선택 중인 요소를 가리킴 jQuery 메소드 메소드명설명 eq(n) n번째에 위치하는 요소를 선택. ..
shuffle - 배열 값 섞기 const shuffle = ([...arr]) => { let m = arr.length; while (m) { const i = Math.floor(Math.random() * m--); [arr[m], arr[i]] = [arr[i], arr[m]]; } return arr; };
sample - 배열 랜덤값 const sample = arr => arr[Math.floor(Math.random() * arr.length)]; sample([3, 7, 9, 11]); // 9
reducedFilter - 배열 필터링 const reducedFilter = (data, keys, fn) => data.filter(fn).map(el => keys.reduce((acc, key) => { acc[key] = el[key]; return acc; }, {}) ); const data = [ { id: 1, name: 'john', age: 24 }, { id: 2, name: 'mike', age: 50 } ]; reducedFilter(data, ['id', 'name'], item => item.age > 24); // [{ id: 2, name: 'mike'}]
pull - 선택 값 골라내기 const pull = (arr, ...args) => { let argState = Array.isArray(args[0]) ? args[0] : args; let pulled = arr.filter((v, i) => !argState.includes(v)); arr.length = 0; pulled.forEach(v => arr.push(v)); }; let myArray = ['a', 'b', 'c', 'a', 'b', 'c']; pull(myArray, 'a', 'c'); // myArray = [ 'b', 'b' ]
mapObject - 배열 -> map const mapObject = (arr, fn) => (a => ( (a = [arr, arr.map(fn)]), a[0].reduce((acc, val, ind) => ((acc[val] = a[1][ind]), acc), {}) ))(); const squareIt = arr => mapObject(arr, a => a * a); squareIt([1, 2, 3]); // { 1: 1, 2: 4, 3: 9 }