Skip to content
GwiyeomGo Tech Blog
About GwiyeomGo

JavaScript Set 은 언제 사용하는가?

JAVASCRIPT, 20221 min read

배경

Set 을 실무에서 쓰는가? 배열의 요소에 같은 값들이 중복되어있다. [A,B,C,A,B] 배열의 중복을 없애고 유일한 값만 있는 배열로 만들고 싶다 [A,B,C]

검색결과

다양한 방식이 존재하는데 Set 을 사용해서 한줄로 중복을 제거한 값만 얻을 수 있었다.

https://stackoverflow.com/questions/1960473/get-all-unique-values-in-a-javascript-array-remove-duplicates

Set ?

  • 상황
[{"id":1,"score":A},{"id":2,"score":B},{"id":3,"score":A},{"id":4,"score":C}]
- db 에서 조회한 table data
[false,FILTER]
- id,score 컬럼중 filter 기능이 있는지 여부를 나타낸 배열 (FILTER 는 상수로 filter type)
["id","score"]
- 컬럼 dataKey 값 배욜
[[],[A,B,C]]
- 함수 반환 결과
data.map((obj)=>{
Object.entries(obj).map(([key, value]) => {
dataKeys.filter((v,i)=>filters[i] === FILTER).map((dataKey)=>{
let index =dataKeys.indexOf(dataKey)
if (!results[index]){
results[index] = []
}
if (key === dataKey){
results[index] = unique([...results[index],value])
}
})
})
})

unique 함수를 만들어서 중복이 제거된 배열을 만든다.

const unique = array => [...new Set(array)];

Map ?

출처

https://velog.io/@dolarge/Java-Script-Set-%EA%B3%BC-Map https://ko.javascript.info/keys-values-entries

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/set https://medium.com/@hongkevin/js-5-es6-map-set-2a9ebf40f96b

© 2024 by GwiyeomGo Tech Blog. All rights reserved.