๐ย JavaScript Koans
Array.from()
๋ฉ์๋๋ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด(array-like object)๋ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด(iterable object)๋ฅผ ์๊ฒ ๋ณต์ฌํด ์๋ก์ดArray ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
๐ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด(array-like object) : key์ ๊ฐ์ด index๋ก ๋์ด์๊ณ , length ์์ฑ์ ๊ฐ๋ ๊ฐ์ฒด.
โ๏ธย String์ ๋ถํดํ๊ธฐ
const str = 'hello';
console.log(Array.from(str)); // ['h', 'e', 'l', 'l', 'o']
โ๏ธย ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ณํํ๊ธฐ
const obj = {0: 'zero', 1: 'one', 2: 'two', length: 3};
const arr = Array.from(obj);
console.log(arr); // ['zero', 'one', 'two']
โ๏ธย ํจ์์ ๋งค๊ฐ๋ณ์๋ค์ ์์๋๋ก ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ
const funcA = (...arguments) => {
return Array.from(arguments)
}
console.log(funcA(1,2,3)); // [ 1, 2, 3]
๐ ๋ฐฐ์ด์ด ์๋ ๊ฐ์ฒด์ length๋ฅผ ํธ์ถํ๋ฉด undefined๊ฐ ๋์จ๋ค.
const obj = {0:'hello'}
console.log(obj.length) // undefined