본문 바로가기

Dev. Web

(37)
[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 }
join - 배열 구분자 const join = (arr, separator = ',', end = separator) => arr.reduce( (acc, val, i) => i === arr.length - 2 ? acc + val + end : i === arr.length - 1 ? acc + val : acc + val + separator, '' ); join(['pen', 'pineapple', 'apple', 'pen'], ',', '&'); // "pen,pineapple,apple&pen" join(['pen', 'pineapple', 'apple', 'pen'], ','); // "pen,pineapple,apple,pen" join(['pen', 'pineapple', 'apple', 'pen']); // ..