배운거 적용해보기

배열 메소드 map 사용시 쉼표가 반복되어 나오는 현상??

honey.kikiki 2021. 11. 28. 21:34
728x90

map 메소드를 사용할떄  , (쉼표)가 반복되어 나오는 상황이 생겼다, 리엑트만 이용할떄는 항상 쉼표없이 출력이 되었는데 순수 자바스크림만 활용해서 사용하는데 쉼표가 출력되는 현상이 있어 글로 남기고자한다.

 

의도치 않은 현상

 

const template = [축구, 농구 ,족구 ,배구]

($('#root') as HTMLUListElement).innerHTML = data
    .map(v) => {
      return `<p>${v.name}</p>`;
    })

출력되는 화면

쉼표가 생기는 윈인

map 함수가 문자열 형태로 값을 리턴할 때는 (template literals로 결합한 내용도 문자열 형태로 리턴된다고 한다)

기본적으로 쉼표(,) 로 묶어서 리턴이 된다고 한다.

 

해결

해결 방법은 정말 간단하다

map함수 끝나는 뒷부분에 join("")을 해주면 해결된다

let result: string[] = ['축구', '농구', '족구', '배구'];

($('#root') as HTMLDivElement).innerHTML = result
  .map((v) => {
    return `<div>${v}</div>`;
  })
  .join('');

이러한 쉬운 방법으로 해결되었다!!