true
,false
๋ฅผ ํ๋จํด์ฃผ์ธ์.
1. Set์์ฑ์ ํจ์๋ ์ดํฐ๋ฌ๋ธ์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ Set๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ์ด๋ ์ดํฐ๋ฌ๋ธ์ ์ค๋ณต๋ ๊ฐ์ ํฌํจ์ํค์ง ์๋๋ค.
2. Set.prototype.add๋ ๋ฐํ๊ฐ์ผ๋ก true,false๊ฐ์ ๋ฐํํ๊ณ , Set.prototype.delete๋ ๋ฐํ๊ฐ์ผ๋ก ์ญ์ ๋ Set๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค.
์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์์ธกํด์ฃผ์ธ์.
const map = new Map ( [
[ 1 , 2 ] ,
[ { a : 1 } , 123 ] ,
] ) ;
const keys = map . keys ( ) ;
const values = map . values ( ) ;
const entries = map . entries ( ) ;
// 1.
console . log ( keys . next ( ) ) ;
console . log ( keys . next ( ) ) ;
console . log ( keys . next ( ) ) ;
// 2.
console . log ( values . next ( ) ) ;
console . log ( values . next ( ) ) ;
console . log ( values . next ( ) ) ;
// 3.
console . log ( entries . next ( ) ) ;
console . log ( entries . next ( ) ) ;
console . log ( entries . next ( ) ) ;
// 4.
console . log ( Symbol . iterator in keys ) ;
console . log ( Symbol . iterator in values ) ;
console . log ( Symbol . iterator in entries ) ;
๋ค์์ ์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์์ธกํด์ฃผ์ธ์.
const set = new Set ( [ { a : 1 } , { a : 1 } ] ) ;
console . log ( set ) ; // (1)
const map = new Map ( [ [ { a : 1 } , 1 ] , [ { a : 1 } , 1 ] ] )
map . delete ( { a : 1 } ) ;
console . log ( map ) ; // (2)
๋ค์์ ๊ต์งํฉ์ ๋ง๋๋ ํ๋กํ ํ์
๋ฉ์๋๋ฅผ ์ ์ํ ์ฝ๋ ์
๋๋ค. ์ฃผ์ ๋ถ๋ถ์ ๋ค์ด๊ฐ ์ฝ๋๋ฅผ ์์ฑํด์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
Set . prototype . intersection = function ( set ) {
const result = new Set ( ) ;
for ( const value of set ) {
// ์ฝ๋ ์์ฑ
}
return result ;
}
const setA = new Set ( [ 1 , 2 , 3 , 4 ] ) ;
const setB = new Set ( [ 1 , 2 ] ) ;
console . log ( setA . intersection ( setB ) ) ;
์ผ์น ๋น๊ต ์ฐ์ฐ์===
์ ์ฌ์ฉํ๋ฉด NaN
๊ณผ NaN
์ ๋ค๋ฅด๋ค๊ณ ํ๊ฐํ์ง๋ง, Set ๊ฐ์ฒด์ Map ๊ฐ์ฒด์์๋ ๊ฐ๋ค๊ณ ํ๊ฐํฉ๋๋ค. ๋ํ +0
๊ณผ -0
๋ ๋์ผํ ์ฐจ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์ฐจ์ด์ ์ ๊ฐ๋ ์ด์ ๋ฅผ ๊ฐ๋จํ๊ฒ ์์ฑํ์์ค.
๋ค์ ๋ณด๊ธฐ์ true
, false
๋ฅผ ๊ฐ๊ฐ ์ ํํ์์ค.
(1) Set๊ณผ Map์ ์์ ๊ฐ์๋ length ํ๋กํผํฐ๋ก ์ ์ ์๋ค.
(2) Map๊ฐ์ฒด๋ ์ผ๋ฐ ๊ฐ์ฒด์ ๋ค๋ฅด๊ฒ ์ดํฐ๋ฌ๋ธ์ด์ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด๊ฐ ๋ ์ ์๋ค.
(3) Map๊ฐ์ฒด์ ๋์ผํ ํค๊ฐ์ด ์ถ๊ฐ๋๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋์ง ์๊ณ ๋ฎ์ด์ฐ์ง ์๋๋ค.
์ฝ๋ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ์ธ์.
const set1 = new Set ( ) ;
console . log ( set1 ) ; // (1)
const set2 = new Set ( [ 1 , 1 , 2 , 3 ] ) ;
set2 . add ( 3 ) . add ( 4 ) ;
console . log ( set2 ) ; // (2)
set2 . delete ( 3 ) . delete ( 4 ) ;
console . log ( set2 ) ; //(3)
๋ค์ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ์ธ์.
const lee = { name : "Lee" } ;
const kim = { name : "Kim" } ;
const map = new Map ( [
[ lee , "developer" ] ,
[ kim , "designer" ] ,
] ) ;
console . log ( map . get ( kim ) ) ; // (1)
console . log ( map . delete ( "park" ) ) ; // (2)
console . log ( map . clear ( ) ) ; // (3)
console . log ( map ) ; // (4)