728x90
๋ฐ์ํ
JavaScript์ ๋ฐฐ์ด(Array)๋ ๊ฐ์ฒด(ํจ์)๋ค.
- ๋ฐ๋ผ์, ๋ํ์ ๊ฐ์ฒด์งํฅ ์ธ์ด์ธ ์๋ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก new Array()๊ฐ ์กด์ฌํ๋ค.
- ๋ฐฐ์ด์ ์์ฑ์(new Array())์ ํ๋์ ์ซ์ ๋งค๊ฐ๋ณ์๋ก ์์ฑํ ์ ์์ง๋ง, ๊ทธ ๊ฒฐ๊ณผ๋ length๊ฐ ๋งค๊ฐ๋ณ์๊ณ , ๊ธธ์ด๋งํผ์ ๋น ์ฌ๋กฏ์ ๊ฐ์ง ๋ฐฐ์ด์ด๋ค. ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ ํ์ธํด๋ณด๋ฉด undefined๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
let datas = new Array(5)
console.log(datas[0]) // undefined
console.log(datas.length) // 5
- ์๋์ ๊ฐ์ด new Array()์ ๋งค๊ฐ๋ณ์์ ์ํ๋ ์ด๊ธฐ๊ฐ๋ค์ ๋๊ฒจ์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๊ณผ ์ด๊ธฐํ๋ฅผ ๋์์ ํ ์ ์์ง๋ง, ๋ฐฐ์ด์ ๊ธธ์ด์ ๋ฐ๋ผ ํ๊ณ๊ฐ ์กด์ฌํ๋ค.
// new Array()๋ก ์ด๊ธฐ๊ฐ ์ค์
let datas = new Array(1, 2, 3, 4, 5);
console.log(datas); // [1, 2, 3, 4, 5]
console.log(datas[0]) // 1
console.log(datas.length) // 5
// ๊ธธ์ด๊ฐ 1000, new Array()๋ก ์ด๊ธฐ๊ฐ ์ค์
let datas = new Array(1, 2, 3, 4, ..., 1000);
// datas ๋ฐฐ์ด์ ์ด๊ธฐ๊ฐ์ ์ ๋ถ ์ง์ ์
๋ ฅํด์ค์ผ ํ๋ค. (์ค์์์ด..)
- JavaScript์๋ ์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ ์๋ Array.from() ํจ์๊ฐ ์กด์ฌํ๋ค. Array.from() ํจ์๋ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด(length ์์ฑ๊ณผ ์ธ๋ฑ์ฑ ๋ ์์๋ฅผ ๊ฐ์ง ๊ฐ์ฒด) ๋ฐ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ์๊ฒ ๋ณต์ฌํด ์๋ก์ด Array ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ฃผ๋ ํจ์์ด๋ค.
// Array.from()์ผ๋ก ๊ธธ์ด๊ฐ 5, ๊ฐ์ด (1 ~ 5)์ธ ๋ฐฐ์ด ์์ฑ
// ์ฝ๋ฐฑ ํจ์์ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ value, ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ index
let datas = Array.from({length: 5}, (v, i) => i + 1); // i(index) + 1
console.log(datas); // [1, 2, 3, 4, 5]
console.log(datas[0]); // 1
console.log(arr.length); // 5
๋ง๋ฌด๋ฆฌ.. ๐
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ํ๋ ๋์ค์ ๊ฐ์ด 1๋ถํฐ ์ฐจ๋ก๋๋ก ์ฆ๊ฐํ๋ ๋ฐฐ์ด์ ์์ฑํ ํ์๊ฐ ์์๋ค. ์ง์ ์ด๊ธฐํํ๋ ๊ฒ๋ณด๋ค๋ new Array(length).fill(0)์ ์ด์ฉํด ์ํ๋ ๊ธธ์ด๋งํผ์ ๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํํ ๋ค์ map() ํจ์๋ฅผ ์ด์ฉํด ์๋ก์ด ๋ฐฐ์ด์ ๋ฆฌํด๋ฐ์์ผ๊ฒ ๋ค๊ณ ์๊ฐํ์ง๋ง ๋ณต์กํ ๋ถ๋ถ์ด ์ด๋์ ๋ ์์๊ธฐ์ ๋ ์ข์ ๋ฐฉ๋ฒ์ ์ฐพ๋ ์ค Array.from()์ ์ฐพ๊ฒ ๋์๋ค. ์๋ก์ด ๊ฒ์ ์ฐพ๊ณ ๊ณต๋ถ๋ฅผ ํ์ผ๋ ์ค๋๋ ๋ณด๋์ฐฌ ํ๋ฃจ๋ผ๊ณ ํ ์ ์๊ฒ ๋คโ
์ด ๊ธ์ ์ฝ๊ณ ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์~๐
์ฐธ๊ณ ํ ์ฌ์ดํธ
'Frontend > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ์ ๊ท ํํ์ ์์ ๋์ ์ผ๋ก ๋ณ์๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ (1) | 2023.04.23 |
---|---|
[JavaScript] ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ก ํ(Queue) ๊ตฌํํ๋ ๋ฐฉ๋ฒ (0) | 2023.03.21 |
[JavaScript] ์ค์ฝํ(Scope)๋ ๋ฌด์์ธ๊ฐ? (0) | 2022.09.05 |
[JavaScript] ํด๋ก์ ๋ ๋ฌด์์ธ๊ฐ? (0) | 2022.09.02 |
[JavaScript] ๋ฌธ์์ด ์นํ( replace(), split().join() ) (0) | 2022.08.19 |