: Array 중복 제거 ( 3가지 방법 )
new Set(배열)
let setA = new Set();
// 비어있는 새로운 set 을 만듬
const dupArr = [1, 2, 3, 1, 2];
const set = new Set(dupArr); // 중복요소 제거
const uniqueArr = [...set];
document.writeln(Array.isArray(uniqueArr)); // true
document.writeln(uniqueArr); // 1,2,3
출처 : https://hianna.tistory.com/421
Array.from()
const set = new Set([1, 2, 3]);
const arr = Array.from(set); // 1,2,3
Spread Operator
(전개 연산자)const arr = [...set]
forEach
const set = new Set([1, 2, 3]);
const arr = [];
set.forEach((element) => {
arr.push(element);
})
get, set
할 수 있음new Set(배열)
// 새로운 map 을 만들고 map 에 key, value 엔트리를 추가
let me = new Map();
me.set('name', 'kevin');
me.set('age', 28);
console.log(me.get('age'); // 28
// 대괄호를 사용해서 map 을 선언하는 방법
const roomTypeMap = new Map(
[
["01", "원룸(오픈형)"],
["02", "원룸(분리형)"],
["03", "원룸(복층형)"],
["04", "투룸"],
["05", "쓰리룸"]
]
);
// 새로운 map 을 만들고 그 데이터를 기존의 [key, value] 페어컬렉션으로 채움
let you = new Map().set('name', 'paul').set('age', 34);
console.log(you.get('name')); // 'paul'
// has(): 주어진 key 가 존재하는지 확인
console.log(me.has('name')); // true
// size: map 에 담겨진 엔트리의 개수를 조회
console.log(you.size); // 2
// delete(): 엔트리를 삭제
me.delete('age');
console.log(me.has('age')); // false
// clear(): 모든 엔트리를 삭제
you.clear();
console.log(you.size); // 0
function solution(id_list, report, k) {
let reports = [...new Set(report)].map( a => {return a.split(' ')});
let counts = new Map();
for (const bad of reports){
counts.set(bad[1],counts.get(bad[1])+1||1)
}
let good = new Map();
for(const report of reports){
if(counts.get(report[1])>=k){
good.set(report[0],good.get(report[0])+1||1)
}
}
let answer = id_list.map(a=>good.get(a)||0)
return answer;
}