■ Web개발/Javascript (7) 썸네일형 리스트형 map으로 fetch하기. await async const promises = array.map((e: any) => api('post', '/api', e))const results = await Promise.all(promises) 위와 같이 map 으로 실행한 것을 promises에 두면프로미스 내부의 api들은 동기로 실행이 됩니다. 만약 비동기로 하나하나 실행하고 싶으시다면for(const item of array){ const promises = array.map((e: any) => api('post', '/api', e))}이런식으로 하면 됩니다. 다만 비동기로 실행할 경우 속도가 느리기 때문에 배열을 보내고 백엔드에서 처리하는 것을 추천합니다. javascript 깊은 복사 깊은 복사를 할때 점 세개 (es6에서 추가된)를 많이 쓴다 const a = {... b} 뭐 이런식으로... 그러나 b안에 내부값이 더 있었다면.. 즉 b안에 c 배열 안에 d가 있었다면!!! d값은 깊은 복사가 안된다 ㅠㅠ 그래서 lodash에서 제공하는 오픈소스 clonedeep을 사용해서 깊은 복사를 한다. const clonedeep = require("lodash.clonedeep") const original = { a: 1, b: { c: 2, }, d: () => { console.log("javascript") }, } const new = clonedeep(original) original.a = 1000 original.b.c = 2000 console.log(new.a) // 1.. concat과 push의 차이점 array에 push와 concat으로 값을 넣을 수 있다. 차이점은 push는 기존 배열을 변환시킬때 concat은 새로운 배열을 만들 때 쓰면 좋다. 즉 a=[1] b=[2] c=[ ] 이렇게 배열이 있다면 a.push(b) 를 했을 때, a = [ 1, 2 ] 로 변한다.c = a.concat(b)를 하면c = [ 1, 2 ] 가 된다. 즉 함수에서 return값을 반환해줄때지역변수만 만들어서 간단히 계산을 한다면지역에서 빈배열을 선언해서(c와 같은) 값을 넣어준다(a와 b와 같은)그리고 빈 배열을 리턴해주면, 기존 배열의 값들은 바뀌지 않고 작동하기 때문에concat이 조금 더 유용하다. (기존 값들을 자꾸 바꾸면 어디선가 꼬일 수 있으므로) javascript find, filter 차이 find는 하나의 값을 찾는 것 filter는 배열을 반환한다. 각자가 반환하는 값이 다르다. 이에 따라 예외처리를 해줘야 한다. 아무것도 없을 경우 find : undefined filter : 빈 배열 를 각각 반환한다 네자릿수 이상 숫자에 콤마 찍기(세자릿수 콤마) Javascript number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); number.toLocaleString("en-US"); var nf = new Intl.NumberFormat('en-US'); const k = nf.format(a); 세가지 방법이 보입니다. 모두 스트링 값을 반환하는데 number에서 string으로 변하는 값이 있고(네자릿수 이상) number 그대로 남아있는 값들이 있다.(세자릿수 이하) 예외처리할 경우... number/string/null (없는 값) 이렇게 세가지로 나뉘어지면 let k: any = Math.round((numbers.value) * 100) / 100; // 소수점 2자리 아래 짜르기 위한 식 - 이 글과는 상관 없지만.. math.round를 통해 소수점 표현하기 Math.round(numbers.value * 10) / 10; Math.round(numbers.value * 10) / 10; // 소수점 한자리 Math.round(numbers.value * 100) / 100; // 소수점 두자리 Math.round(numbers.value * 1000) / 1000; // 세자리 표현하고싶은 자릿수에 따라 * 100, 1000 등으로 변경하면 된다. javascript 대괄호 벗기는 문법 ...(점세개) const aaa = [{a, b, c}] 이런식으로 있으면 const bbb = { ...aaa[0]} 이렇게 겉의 대괄호를 벗겨줄 수 있다 이런 방식을 통해 여러 array를 합치는데 응용이 가능하다. 식을 줄여주는 마법같은 점 세개. 쓰면 쓸수록 편하다. 예를 추가로 들자면 const 과일 = { 사과, 귤 } 여기에 포도를 넣은 과일2를 만들자면 const 과일2 = {...과일, 포도} 이렇게 간단하게 넣을 수 있다. 게다가 깊은 복사도 해주는 점 세개.(완전한 깊은 복사는 아니지만 자주 사용한다. 꼭 필요할 때는 lodash를 더 사용) 효자가 아닐 수 없다. 이전 1 다음