본문 바로가기
Javascript

127가지 Javascript 유용한 스니펫 (1)

by F.E.D 2021. 9. 12.

유용한 자바스크립트 스니펫들이 있어서 소개드립니다.

 

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');

 

 

출처 : https://morioh.com/p/a76bc7d72226?f=5c224490c513a556c9042463&fbclid=IwAR0JuBSgDxSmaoNhrEnKS42cw2TrRUbTSVXbDueOhwmh-Q7z01sSY6v8njU

댓글