Skip to content

Latest commit

ย 

History

History
170 lines (138 loc) ยท 3.24 KB

ch37-๋ฌธ์ œ.md

File metadata and controls

170 lines (138 loc) ยท 3.24 KB

Chapter37

๐Ÿ“Œ๋ฌธ์ œ1

true,false๋ฅผ ํŒ๋‹จํ•ด์ฃผ์„ธ์š”.

1. Set์ƒ์„ฑ์ž ํ•จ์ˆ˜๋Š” ์ดํ„ฐ๋Ÿฌ๋ธ”์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„ Set๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์ด๋•Œ ์ดํ„ฐ๋Ÿฌ๋ธ”์˜ ์ค‘๋ณต๋œ ๊ฐ’์€ ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
2. Set.prototype.add๋Š” ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ true,false๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , Set.prototype.delete๋Š” ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ์‚ญ์ œ๋œ Set๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋‹ต์•ˆ ์ž‘์„ฑ

(1) : 
(2) :

๐Ÿ“Œ๋ฌธ์ œ2

์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•ด์ฃผ์„ธ์š”.

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);

๋‹ต์•ˆ ์ž‘์„ฑ

(1) : 
(2) :
(3) : 
(4) :

๐Ÿ“Œ๋ฌธ์ œ3

๋‹ค์Œ์˜ ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•ด์ฃผ์„ธ์š”.

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)

๋‹ต์•ˆ ์ž‘์„ฑ


๐Ÿ“Œ๋ฌธ์ œ4

๋‹ค์Œ์€ ๊ต์ง‘ํ•ฉ์„ ๋งŒ๋“œ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•œ ์ฝ”๋“œ ์ž…๋‹ˆ๋‹ค. ์ฃผ์„ ๋ถ€๋ถ„์— ๋“ค์–ด๊ฐˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ์ฝ”๋“œ๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

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));

๋‹ต์•ˆ ์ž‘์„ฑ


๐Ÿ“Œ๋ฌธ์ œ5

์ผ์น˜ ๋น„๊ต ์—ฐ์‚ฐ์ž===์„ ์‚ฌ์šฉํ•˜๋ฉด NaN๊ณผ NaN์„ ๋‹ค๋ฅด๋‹ค๊ณ  ํ‰๊ฐ€ํ•˜์ง€๋งŒ, Set ๊ฐ์ฒด์™€ Map ๊ฐ์ฒด์—์„œ๋Š” ๊ฐ™๋‹ค๊ณ  ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ +0๊ณผ -0๋„ ๋™์ผํ•œ ์ฐจ์ด์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฐจ์ด์ ์„ ๊ฐ–๋Š” ์ด์œ ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์‹œ์˜ค.

๋‹ต์•ˆ์ž‘์„ฑ


๐Ÿ“Œ๋ฌธ์ œ6

๋‹ค์Œ ๋ณด๊ธฐ์˜ true, false๋ฅผ ๊ฐ๊ฐ ์„ ํƒํ•˜์‹œ์˜ค.

(1) Set๊ณผ Map์˜ ์š”์†Œ ๊ฐœ์ˆ˜๋Š” length ํ”„๋กœํผํ‹ฐ๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
(2) Map๊ฐ์ฒด๋Š” ์ผ๋ฐ˜ ๊ฐ์ฒด์™€ ๋‹ค๋ฅด๊ฒŒ ์ดํ„ฐ๋Ÿฌ๋ธ”์ด์ž ์œ ์‚ฌ ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
(3) Map๊ฐ์ฒด์— ๋™์ผํ•œ ํ‚ค๊ฐ’์ด ์ถ”๊ฐ€๋˜๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š๊ณ  ๋ฎ์–ด์“ฐ์ง€ ์•Š๋Š”๋‹ค.

๋‹ต์•ˆ์ž‘์„ฑ

(1) : 
(2) : 
(3) : 

๐Ÿ“Œ๋ฌธ์ œ7

์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜์„ธ์š”.

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)

๋‹ต์•ˆ ์ž‘์„ฑ

(1) : 
(2) : 
(3) : 

๐Ÿ“Œ๋ฌธ์ œ8

๋‹ค์Œ ์ฝ”๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜์„ธ์š”.

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)

๋‹ต์•ˆ ์ž‘์„ฑ

(1) : 
(2) : 
(3) : 
(4) :