์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฐฐ์ด ํจ์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์๊ฒ ๋์์ฃผ๋ ์ค์ํ ๋๊ตฌ์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์์ฃผ ์ฌ์ฉ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ํจ์๋ค์ ์ ๋ฆฌํ๊ณ , ๊ฐ๊ฐ์ ํจ์๊ฐ ์ด๋ค ์ํฉ์์ ์ ์ฉํ์ง์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
โฃ ๋ชฉ์ฐจ

์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ ์ฐธ์กฐ ์๋ฃํ์
๋๋ค. ๊ธฐ๋ณธ ์๋ฃํ(primitive types)๊ณผ ์ฐธ์กฐ ์๋ฃํ(reference types)์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ์์ ๋ฐ๋ผ ๊ตฌ๋ถ๋ฉ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฃํ์ ๋ํ ๋ด์ฉ์ ์๋ ํฌ์คํ
์ ์ฐธ๊ณ ํด ์ฃผ์ธ์๐
[์๋ฐ์คํฌ๋ฆฝํธ]์ด๋ณด์๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฃํ ๊ฐ์ด๋
์๋ฐ์คํฌ๋ฆฝํธ ์๋ฃํ์ ์ดํดํ๋ ๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ์ ๊ธฐ์ด์ด์ ํ์์ ๋๋ค. ์ด ๊ธ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ค์ํ ์๋ฃํ์ ๊ธฐ์ด๋ถํฐ ์ฌํ๊น์ง ์์ธํ ๋ค๋ฃน๋๋ค.โฃ ๋ชฉ์ฐจ์๋ฃํ์
creativevista.tistory.com
01. JavaScript ๋ฐฐ์ด์ด๋?๐ค
๋ฐฐ์ด์ ์ ์์ ๊ธฐ๋ณธ ๊ฐ๋
JavaScript์์ ๋ฐฐ์ด์ ๊ฐ์ ํ์ ๋๋ ๋ค๋ฅธ ํ์ ์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ํ ๊ณณ์ ๋ชจ์๋ ๊ตฌ์กฐ์ ๋๋ค. ๋ฐฐ์ด์ ์ผ๋ จ์ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ๋์ดํ๊ณ , ์ธ๋ฑ์ค๋ฅผ ํตํด ๊ฐ ์์์ ์ ๊ทผํ ์ ์๊ฒ ํด ์ค๋๋ค. ๋ฐฐ์ด์ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ํํ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, JavaScript์์๋ ํนํ ๋ง์ด ํ์ฉ๋ฉ๋๋ค.
๋ฐฐ์ด์ ์ฌ์ฉํ๋ ์ด์
๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๊ฐ์ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์กฐ์ํ ์ ์์ต๋๋ค. ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ๋ค์ํ ๋ฉ์๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์กฐ์ํ ์ ์์ต๋๋ค.
JavaScript ๋ฐฐ์ด์ ํน์ง
- ๋์ ํฌ๊ธฐ: JavaScript ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์์ง ์๊ณ , ํ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ๋ณํฉ๋๋ค.
- ๋ค์ํ ํ์ ํ์ฉ: JavaScript ๋ฐฐ์ด์ ์ซ์, ๋ฌธ์์ด, ๊ฐ์ฒด ๋ฑ ๋ค์ํ ํ์ ์ ์์๋ฅผ ํจ๊ป ์ ์ฅํ ์ ์์ต๋๋ค.
- ๋ฐฐ์ด ๋ฉ์๋: ๋ฐฐ์ด์ ๋ค์ํ ๋ด์ฅ ๋ฉ์๋๋ฅผ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์กฐ์ํ ์ ์์ต๋๋ค.
02. ๋ฐฐ์ด ์์ฑ ๋ฐฉ๋ฒ๐จ
๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ ์์ฑ
๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฐ์ด ์์ฑ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋๊ดํธ []๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์ฑํ๊ณ , ๊ฐ ์์๋ ์ผํ๋ก ๊ตฌ๋ถํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
Array ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์์ฑ
Array ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์์ฑํ ์๋ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฐฐ์ด์ ์ด๊ธฐ ํฌ๊ธฐ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
let numbers = new Array(3); // ๊ธธ์ด๊ฐ 3์ธ ๋น ๋ฐฐ์ด ์์ฑ
let moreFruits = new Array('Mango', 'Peach', 'Pineapple');
Array.of()์ Array.from() ๋ฉ์๋
- Array.of() ๋ฉ์๋๋ ์ ๋ฌ๋ ์ธ์๋ฅผ ์์๋ก ๊ฐ๋ ๋ฐฐ์ด์ ์์ฑํฉ๋๋ค.
let arrayOfNumbers = Array.of(1, 2, 3);
- Array.from() ๋ฉ์๋๋ ์ ์ฌ ๋ฐฐ์ด ๊ฐ์ฒด๋ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ณํํฉ๋๋ค.
let arrayFromString = Array.from('hello'); // ['h', 'e', 'l', 'l', 'o']
03. ๋ฐฐ์ด ์์ ์ ๊ทผ ๋ฐ ์กฐ์๐ ๏ธ
๋ฐฐ์ด ์์ ์ ๊ทผ ๋ฐฉ๋ฒ (์ธ๋ฑ์ค ์ฌ์ฉ)
๋ฐฐ์ด์ ๊ฐ ์์๋ 0๋ถํฐ ์์ํ๋ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ ์ ์์ต๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
console.log(fruits[0]); // 'Apple'
console.log(fruits[1]); // 'Banana'
๋ฐฐ์ด ์์ ์ถ๊ฐ ๋ฐ ์ญ์
push(): ๋ง์ง๋ง ์์ ์ถ๊ฐ
- push(): ํจ์๋ ๋ฐฐ์ด์ ๋ง์ง๋ง์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ถ๊ฐํ ๋ ์ ์ฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.push('Mango'); // ['Apple', 'Banana', 'Cherry', 'Mango']
pop(): ๋ง์ง๋ง ์์ ์ญ์
- pop(): ํจ์๋ ๋ฐฐ์ด์ ๋ง์ง๋ง ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ์ต๊ทผ์ ์ถ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์ ์ฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.pop(); // ['Apple', 'Banana']
unshift(): ์ฒซ ๋ฒ์งธ ์์ ์ถ๊ฐ
- unshift(): ํจ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ต์ฐ์ ์ผ๋ก ์ถ๊ฐํ ๋ ์ ์ฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.unshift('Strawberry'); // ['Strawberry', 'Apple', 'Banana', 'Cherry']
shift(): ์ฒซ ๋ฒ์งธ ์์ ์ญ์
- shift(): ํจ์๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ๊ฐ์ฅ ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๋ ์ ์ฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.shift(); // ['Banana', 'Cherry']
๋ฐฐ์ด ์์ ์์
๋ฐฐ์ด์ ์์๋ฅผ ์์ ํ๋ ค๋ฉด ํด๋น ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits[1] = 'Blueberry'; // ['Apple', 'Blueberry', 'Cherry']
๋ฐฐ์ด ๋ณต์ฌ ๋ฐ ํ์ฅ (...)
Spread Operator(...)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ฝ๊ฒ ๋ณต์ฌํ๊ณ ํ์ฅํ ์ ์์ต๋๋ค. ๊ธฐ์กด ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๊ณ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค ๋ ์ ์ฉํฉ๋๋ค.
let fruits = ['์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ'];
let copiedFruits = [...fruits];
console.log(copiedFruits); // ['์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ']
04. ์์ฃผ ์ฌ์ฉํ๋ ๋ฐฐ์ด ๋ฉ์๋๐
forEach(): ๋ฐฐ์ด ์ํ
forEach() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ์คํํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.forEach(function(fruit) {
console.log(fruit);
});
map(): ๋ฐฐ์ด ์์ ๋ณํ
map() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ์คํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
let fruits = ["์ฒด๋ฆฌ", "์ฌ๊ณผ", "๋ฐ๋๋"];
let mappedFruits = fruits.map(fruit => `fruit: ${fruit}`);
console.log(mappedFruits); // ["fruit: ์ฒด๋ฆฌ", "fruit: ์ฌ๊ณผ", "fruit: ๋ฐ๋๋"]
filter(): ์กฐ๊ฑด์ ๋ง๋ ์์ ํํฐ๋ง
filter() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ง ๋ชจ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
let words = ["apple", "banana", "cherry", "date", "fig", "grape"];
let longWords = words.filter(word => word.length >= 5);
console.log(longWords); // ["apple", "banana", "cherry", "grape"]
reduce(): ๋ฐฐ์ด ๊ฐ ๋์
reduce() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ์คํํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ ๊ฐ์ผ๋ก ๋์ ํฉ๋๋ค.
let numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 15
find()์ findIndex(): ์กฐ๊ฑด์ ๋ง๋ ์์ ์ฐพ๊ธฐ
- find() ๋ฉ์๋๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let cherry = fruits.find(function(fruit) {
return fruit === 'Cherry';
}); // 'Cherry'
- findIndex() ๋ฉ์๋๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฒซ ๋ฒ์งธ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let cherryIndex = fruits.findIndex(function(fruit) {
return fruit === 'Cherry';
}); // 2
05. ๊ณ ๊ธ ๋ฐฐ์ด ๋ฉ์๋์ ํ์ฉ๋ฒ๐
some()๊ณผ every(): ์กฐ๊ฑด ๊ฒ์ฌ
- some() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์ผ๋ถ ์์๊ฐ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let hasShortFruit = fruits.some(function(fruit) {
return fruit.length < 5;
}); // false
- every() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์๊ฐ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let allLongFruits = fruits.every(function(fruit) {
return fruit.length > 5;
}); // false
sort(): ๋ฐฐ์ด ์ ๋ ฌ
- sort() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์ ๋ ฌํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋๋ฉฐ, ์ํ๋ ์ ๋ ฌ ์์๋ฅผ ๋น๊ต ํจ์๋ฅผ ํตํด ์ง์ ํ ์ ์์ต๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.sort(); // ['Apple', 'Banana', 'Cherry']
- ์ฌ์ฉ์ ์ ์ ์ ๋ ฌ ๋น๊ต ํจ์ ์์
์ฌ์ฉ์ ์ ์ ์ ๋ ฌ ๋น๊ต ํจ์๋ JavaScript์ sort() ๋ฉ์๋์์ ์ฌ์ฉ๋์ด ๋ฐฐ์ด ์์๋ฅผ ์ํ๋ ๋ฐฉ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด ํจ์๋ ๋ ๊ฐ์ ์ธ์(a์ b)๋ฅผ ๋ฐ์์ ๋ค์ ์ธ ๊ฐ์ง ๊ฒฝ์ฐ ์ค ํ๋์ ๋ฐ๋ผ ๋์ํด์ผ ํฉ๋๋ค.
- ์์ ๋ฐํ: a๋ฅผ b๋ณด๋ค ์์ ์์น์ํค๊ณ ์ถ์ ๋.
- ์์ ๋ฐํ: a๋ฅผ b๋ณด๋ค ๋ค์ ์์น์ํค๊ณ ์ถ์ ๋.
- ๋ฐํ: a์ b์ ์์๋ฅผ ๋ณํ์ํค์ง ์๊ณ ๊ทธ๋๋ก ๋๊ณ ์ถ์ ๋.
์ด๋ฌํ ๋น๊ต ํจ์๋ฅผ ์ ์ํ๋ฉด sort() ๋ฉ์๋๊ฐ ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ ๋ ฌํ๊ฒ ๋ฉ๋๋ค.
์์ : ์ซ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
let numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
numbers.sort(function(a, b) {
if (a < b) {
return -1; // a๋ฅผ b๋ณด๋ค ์์ ์์น์ํด
}
if (a > b) {
return 1; // a๋ฅผ b๋ณด๋ค ๋ค์ ์์น์ํด
}
return 0; // ์์๋ฅผ ๋ณํ์ํค์ง ์์
});
console.log(numbers); // [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
์์ ์ฝ๋์์ sort() ๋ฉ์๋๋ ๋น๊ต ํจ์๋ฅผ ํตํด numbers ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค. a๊ฐ b๋ณด๋ค ์์ ๋๋ -1์ ๋ฐํํ์ฌ a๋ฅผ b๋ณด๋ค ์์ ์์น์ํค๊ณ , a๊ฐ b๋ณด๋ค ํด ๋๋ 1์ ๋ฐํํ์ฌ a๋ฅผ b๋ณด๋ค ๋ค์ ์์น์ํต๋๋ค. ๊ฐ์ ๊ฒฝ์ฐ์๋ 0์ ๋ฐํํ์ฌ ์์๋ฅผ ๋ณํ์ํค์ง ์์ต๋๋ค.
์์ : ์ซ์ ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
numbers.sort(function(a, b) {
if (a > b) {
return -1; // a๋ฅผ b๋ณด๋ค ์์ ์์น์ํด (๋ด๋ฆผ์ฐจ์)
}
if (a < b) {
return 1; // a๋ฅผ b๋ณด๋ค ๋ค์ ์์น์ํด (๋ด๋ฆผ์ฐจ์)
}
return 0; // ์์๋ฅผ ๋ณํ์ํค์ง ์์
});
console.log(numbers); // [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
์์ ์ฝ๋์์๋ ๊ฐ์ ๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋๋ก ๋น๊ต ํจ์๋ฅผ ์์ ํ์ต๋๋ค. a๊ฐ b๋ณด๋ค ํด ๋ -1์ ๋ฐํํ์ฌ a๋ฅผ b๋ณด๋ค ์์ ์์น์ํค๊ณ , a๊ฐ b๋ณด๋ค ์์ ๋ 1์ ๋ฐํํ์ฌ a๋ฅผ b๋ณด๋ค ๋ค์ ์์น์ํต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์ ๊ฒฝ์ฐ์๋ 0์ ๋ฐํํ์ฌ ์์๋ฅผ ๋ณํ์ํค์ง ์์ต๋๋ค.
reverse(): ๋ฐฐ์ด ์ ๋ ฌ
- reverse() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์์ ์์๋ฅผ ๋ฐ๋๋ก ๋ค์ง์ต๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.reverse(); // ['Cherry', 'Banana', 'Apple']
concat(): ๋ฐฐ์ด ํฉ์น๊ธฐ
- concat() ๋ฉ์๋๋ ๋ ๊ฐ ์ด์์ ๋ฐฐ์ด์ ํฉ์ณ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค.
let fruits = ['Apple', 'Banana'];
let moreFruits = ['Cherry', 'Mango'];
let allFruits = fruits.concat(moreFruits); // ['Apple', 'Banana', 'Cherry', 'Mango']
slice()์ splice(): ๋ฐฐ์ด ๋ถ๋ถ ์ถ์ถ ๋ฐ ๋ณ๊ฒฝ
- slice() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์ถ์ถํ์ฌ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry', 'Mango'];
let someFruits = fruits.slice(1, 3); // ['Banana', 'Cherry']
- splice() ๋ฉ์๋๋ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๊ต์ฒดํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
fruits.splice(1, 1, 'Blueberry'); // ['Apple', 'Blueberry', 'Cherry']
06. ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ์ ์ฉํ ํ๐
๋ค์ฐจ์ ๋ฐฐ์ด ๋ค๋ฃจ๊ธฐ
JavaScript์์๋ ๋ฐฐ์ด ์์ ๋ฐฐ์ด์ ํฌํจ์์ผ ๋ค์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค ์ ์์ต๋๋ค.
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[1][2]); // 6
๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํ (join, toString)
- join() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฌธ์์ด๋ก ๊ฒฐํฉํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let fruitString = fruits.join(', '); // 'Apple, Banana, Cherry'
- toString() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํํฉ๋๋ค.
let fruits = ['Apple', 'Banana', 'Cherry'];
let arrayString = fruits.toString(); // 'Apple,Banana,Cherry'
์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ํ
- ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ์์ธกํ ์ ์๋ค๋ฉด ์ด๊ธฐ ํฌ๊ธฐ๋ฅผ ์ค์ ํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค.
- for ๋ฃจํ๋ฅผ ์ฌ์ฉํ ๋๋ length ํ๋กํผํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅํด ๋๋ฉด ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, JavaScript์์ ๋ฐฐ์ด์ ์ํํ ๋ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, length ํ๋กํผํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅํด ๋๋ฉด ๋ฐ๋ณตํ ๋ ์ฑ๋ฅ์ด ํฅ์๋ ์ ์์ต๋๋ค. ์ด๋ ๋งค ๋ฐ๋ณต๋ง๋ค ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ค์ ๊ณ์ฐํ๋ ๋น์ฉ์ ์ค์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์์ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ํํ ๋ length ํ๋กํผํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅํ๋ ์์ ์ ๋๋ค.
let fruits = ['์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ'];
// ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅ
let len = fruits.length;
// ์ผ๋ฐ์ ์ธ for ๋ฃจํ ์ฌ์ฉ
for (let i = 0; i < len; i++) {
console.log(fruits[i]);
}
์ด ์์ ์์๋ fruits.length๋ฅผ len ๋ณ์์ ์ ์ฅํ ํ for ๋ฃจํ์์ ์ด ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ์ํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋งค ๋ฐ๋ณต๋ง๋ค ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๊ณ์ฐํ๋ ๋น์ฉ์ ํผํ ์ ์์ด์ ์ฑ๋ฅ์ด ๊ฐ์ ๋ ์ ์์ต๋๋ค.
07. ํต์ฌ ๋ด์ฉ๐


