유용한 자바스크립트 스니펫들이 있어서 소개드립니다.
1. all
// all - 모든 컬렉션에 대해서 true를 반환하면 true, 아니라면 false
// 두번째 인수를 생략하면 기본 연산에 대한 boolean값을 리턴합니다.
const all = (arr, fn = Boolean) => arr.every(fn);
all([4, 2, 3], x => x > 1); // true
all([1, 2, 3]); // true
2. allEqual
// allEqual - 모든 배열 요소가 같은지 체크
const allEqual = arr => arr.every(val => val === arr[0]);
allEqual([1, 2, 3, 4, 5, 6]); // false
allEqual([1, 1, 1, 1]); // true
3. approximatelyEqual
// approximatelyEqual - 두 숫자가 근사치인지 판별
const approximatelyEqual = (v1, v2, epsilon = 0.001) => Math.abs(v1 - v2) < epsilon;
approximatelyEqual(Math.PI / 2.0, 1.5708); // true
4. arrayToCSV
// arrayToCSV - 어떤 단위를 기준으로 String 파싱
const arrayToCSV = (arr, delimiter = ',') =>
arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
arrayToCSV([['a', 'b'], ['c', 'd']]); // '"a","b"\n"c","d"'
arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // '"a";"b"\n"c";"d"'```
5. arrayToHtmlList
// arrayToHtmlList - listId에 append를 하는데 li로 append 합니다. 상위 부모는 ul이나, ol이어야 겠네요.
const arrayToHtmlList = (arr, listID) =>
(el => (
(el = document.querySelector('#' + listID)),
(el.innerHTML += arr.map(item => `<li>${item}</li>`).join(''))
))();
arrayToHtmlList(['item 1', 'item 2'], 'myListID');
'Javascript' 카테고리의 다른 글
[Javascript] Try/Catch, Error를 다루는 방법 (0) | 2022.09.12 |
---|---|
미디어쿼리를 자바스크립트에서 사용해야될 때 (0) | 2021.10.05 |
closest() 실용적으로 사용하기 (0) | 2021.06.29 |
Javascript Clean Code에 관하여 (0) | 2021.04.11 |
<script async> / <script defer> 언제 사용하면 좋을까? (0) | 2021.03.02 |
댓글