07. Array
์์ฝ๋ ์ฌ์ ์คํฐ๋๋ฅผ ๋ฃ๊ณ ์ฐ๋ ๊ธ์
๋๋ค.
์์
๋ด์ฉ์ ์ฐธ๊ณ /์ธ์ฉํ์ฌ ์์ฑํ์ต๋๋ค.
Array๋?
๋ฐฐ์ด์
๋๋ค.
์ง๋๋ฒ ์ฐธ์กฐํ ๋ฐ์ดํฐ ํ์
์์ ํ๋ฒ ๋ณธ ์น๊ตฌ์
๋๋ค.
let sample = [data1, ๋ฐ์ดํฐ2, true, 0.5];
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด์ ์ฌ๋ฌ ๋ณ์์ ์งํฉ์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋๋์ผ๋ก ์ฐ์ฐํ ๋ ๋์์ด ๋ฉ๋๋ค.
๋ง์ฝ 1๋ถํฐ 100๊ฐ๊น์ง ๋ณ์๋ฅผ ๋ง๋ค์ด์ ์ด ๋ณ์๋ค์ ์ ๋ถ ๋ํด์ผ ํ๋ค๋ ๋ฌธ์ ๊ฐ ์ฃผ์ด์ง๋ฉด ์ด๋ป๊ฒ ๋ ๊น์?
์ฌ์ง์ด ์ด ๊ฐ๋ค์ด ์ซ์์ ๋ฌธ์์ ๋ถ๋ฆฐ ๊ฐ๋ค์ด ์ ๋ถ ์์ฌ์๋ค๋ฉด?
let variable1 = '1';
let variable2 = '๋ณ์ 2';
let variable3 = false;
.
.
.
3๊ฐ๋ง ์ผ๋๋ฐ๋ ๋ฒ์จ ํ๋ค์ด์!
์ด๊ฒ์ ๋ฐฐ์ด๋ก ๋ฐ๊ฟ์ ์ฐ๋ฉด, ์ ์ด๋ let ์ ์ธ์ ํ๋ฒ๋ง ํด์ค๋ค๋ ์ ์์ ๊ต์ฅํ ์๊ฐ์ ๋จ์ถํ ์ ์๊ฒ ๋ฉ๋๋ค.
let variable = [1, '๋ณ์ 2', false];
์ด์จ๋ ๋ฐฐ์ด์ ์ฌ์ฉํ ๋์ ์ฅ์ ์ ๋์ค์ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฝ๋๋ฅผ ์งค ๋ ๋น์ ๋ฐํ ๊ฒ ๊ฐ๋ค์.์์ง์ ์ฒด๊ฐ์ด ๋์ง ์์ต๋๋ค.
๋ฐฐ์ด ์๋ฆฌ๋จผํธ์ ์ ๊ทผํ๊ธฐ
๋ฐฐ์ด ๋๊ดํธ์ ๋ค์ด์๋ ์ ๋ฐ์ดํฐ๋ค์ ์์,element๋ผ๊ณ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ค์ ์ผ๋ ฌ๋ก ์ธ์๋ ๊ฑด ์ข์๋ฐ, ์ด์ ์ ์น๊ตฌ๋ค์ ๋ถ๋ฌ์ ์ด๋ป๊ฒ๋ ์จ๋จน์ด์ผ๊ฒ ์ฃ ?
์ผ๋จ ๋ฐฐ์ด์ ์๋ก ๋ง๋ค์ด๋ณผ๊ฒ์.
let zoo = ['ํธ๋์ด','๊ธฐ๋ฆฐ','์ฝ๋ฟ์','ํ ๋ผ']
๋๋ฌผ์์ ๋๋ฌ์์ ํ ๋ผ๋ฅผ ๋จผ์ ๋ณด๊ธฐ๋ก ํ์ต๋๋ค.
ํ๊ฐ์ง ํน์ดํ ์ ์ด ์๋ค๋ฉด, ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ์์๋ฅผ index
๋ผ๊ณ ํ๋๋ฐ, ์ด index
๋ 0๋ฒ๋ถํฐ ์์ํ๋ค๋ ๊ฒ๋๋ค.
let zoo = ['ํธ๋์ด','๊ธฐ๋ฆฐ','์ฝ๋ฟ์','ํ ๋ผ']
//์์๋๋ก 0,1,2,3๋ฒ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง๊ณ ์์
์ฌ๊ธฐ์ ํ ๋ผ๋ฅผ ๋ถ๋ฌ์๋ณธ๋ค๋ฉด,
console.log(zoo[3]);
let rabbit = zoo[3];
์ด ๋๊ฒ ๋ค์. ๋ฌผ๋ก ์๋ซ์ค์ฒ๋ผ ๋ณ์์๋ ๋ด์ ์ ์์ต๋๋ค.
๋ฐฐ์ด ์๋ฆฌ๋จผํธ ์์ ํ๊ธฐ
๋๋ฌผ์์์ ์ฝ๋ฟ์ ๋์ ์ฌ๋ง์ฌ์ฐ๋ฅผ ๋์ ๋ค์ฌ์ค๊ธฐ๋ก ํ์์ด์.
์ฝ๋ฟ์๋ ์ธ๋ฑ์ค 2๋ฒ์ด๋๊น, 2๋ฒ ์๋ฆฌ๋จผํธ๋ฅผ ์์ ํฉ๋๋ค.
zoo[2] = '์ฌ๋ง์ฌ์ฐ';
๊ฐ๋จํ ์์ ์ด ์๋ฃ๋์์ต๋๋ค.
๋ฐฐ์ด ์๋ฆฌ๋จผํธ ์ถ๊ฐํ๊ธฐ
์ฌ๊ธฐ์ ๋๋ฌผ ํ๋๋ฅผ ๋ ๋ค์ฌ์ฌ ์ ์์๊น์?๋ฌผ๋ก ๋ฉ๋๋ค.
์๋ฆฌ๋จผํธ๋ฅผ ์ถ๊ฐํ๋ ๋ฉ์๋๋ unshift
์.push
์ธ๋ฐ, push
๋ฅผ ์ด์ฉํ๋ฉด ๋ฐฐ์ด ๋งจ ๋ง์ง๋ง์ ์๋ฆฌ๋จผํธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
zoo.push('ํญ๊ท');
console.log(zoo);
//Array(5) [ "ํธ๋์ด", "๊ธฐ๋ฆฐ", "์ฌ๋ง์ฌ์ฐ", "ํ ๋ผ" ,"ํญ๊ท"]
5๋ฒ์งธ ๋๋ฌผ,์ธ๋ฑ์ค ๋ฒํธ๋ก๋ 4๋ฒ์ธ ํญ๊ท์ด ์๋ก ๋ค์ด์จ ๋ชจ์ต์ ํ์ธํ์ต๋๋ค.
๋ฐฐ์ด ์๋ฆฌ๋จผํธ ์ญ์ ํ๊ธฐ
์ด๋๋ ๋๋ฌผ์์์ ์ด๋ฒคํธ๋ฅผ ์ํด ํ ๋ผ๋ฅผ ์ ์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ฒจ์ผ ํ๋ ์ผ์ด ์๊ฒผ์ต๋๋ค.
์ญ์ ์๋ ๋ณด๋ค ๋ง์ ๋ฉ์๋๊ฐ ์์ต๋๋ค.
pop();//ํญ์ ๋งจ ๋ง์ง๋ง index์ ์๋ ์๋ฆฌ๋จผํธ ์ญ์
shift();//ํญ์ ๋งจ ์ฒซ๋ฒ์งธ(0๋ฒ index)์ ์๋ ์๋ฆฌ๋จผํธ ์ญ์
splice(start[, deleteCount[, item1[, item2[, ...]]]]
//n๋ฒ์งธ index๋ถํฐ n๋ฒ์งธ index๊น์ง ์์ญ์ ์ง์ ํ์ฌ ์ญ์
์ฌ๊ธฐ์ ํ ๋ผ๊ฐ ๊ทธ๋๋ก ๋ง์ง๋ง ๋ฒํธ์ ๋๋ฌผ์ด์๋ค๋ฉด pop์ ์ด์ฉํด ์๋ฆฌ๋ฅผ ๋น์ฐ๋ฉด ๋์๊ฒ ์ง๋ง ์๋๋ค์! ๊ทธ๋์ splice
๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ณด๊ธฐ๋ก ํฉ๋๋ค.
start ์ง์ ์๋ ๋ฐฐ์ด์ ๋ณ๊ฒฝ์ ์์ํ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ง์ ํด์ค๋๋ค.
deleteCount ์ง์ ์๋ ๋ฐฐ์ด์์ ์ ๊ฑฐํ ์์์ ์๋ฅผ ์ง์ ํด์ค๋๋ค. 0 ์ดํ์ ์๋ฅผ ์ง์ ํ๋ฉด ์ด๋ค ์์๋ ์ ๊ฑฐ๋์ง ์์ต๋๋ค.
zoo.splice(-2,1)//์์๋ก ์์์ ์ง์ ํ๋ ๋ฒ.๋ฐฐ์ด์ ๋์์๋ถํฐ 2๋ฒ์งธ์ธ ํ ๋ผ๋ฅผ ์ ํํด ์ญ์
zoo.splice(3,1)//์์๋ก ์์์ ์ง์ ํ๋ ๋ฒ ๋ฐฐ์ด์ ์ฒ์์์๋ถํฐ 3๋ฒ์งธ์ธ ํ ๋ผ๋ฅผ ์ ํํด ์ญ์
console.log(zoo);//Array(4) [ "ํธ๋์ด", "๊ธฐ๋ฆฐ", "์ฝ๋ฟ์", "ํญ๊ท" ] ํ ๋ผ ์๋ฆฌ๊ฐ ์ญ์ ๋์์ด์..
//๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค ํฐ ์์ผ ๋์๋
zoo.splice(8)
zoo.splice(7,3)
//์๋ฌด๊ฒ๋ ์ญ์ ๋์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ๊ฐ ๋๋ ๋๋ฌผ์์ ๋์์จ ํ ๋ผ๊ฐ, ์์ ์ ์๋ฆฌ๊ฐ ์์ด์ง ๊ฒ์ ๋ณด์ ๋์ฌํฉ๋๋ค.
ํ ๋ผ์๊ฒ ์ฌ๊ณผํ๊ณ ๋ค์ ์๋ฆฌ๋ฅผ ๋ง๋ค์ด์ค์ผ๊ฒ ๋ค์. ์ด๋ฒ์๋ splice
๋ฉ์๋๋ฅผ ์ด์ฉํฉ๋๋ค.
zoo.splice(3,0,'ํ ๋ผ')//์ฒ์์์๋ถํฐ 3๋ฒ์งธ ์๋ฆฌ์, 0์ ๋ฃ์ด ์๋ฌด๊ฒ๋ ์ญ์ ํ์ง ์๊ณ 'ํ ๋ผ'๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ
์ด๋ฐ ๋ฐฉ์์ผ๋ก item ์๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ผ๋ฉด, ๊ตณ์ดpush
๋ฉ์๋๋ฅผ ์ฐ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ์ฌ์ดํธ : https://im-developer.tistory.com/103
๋ค์ฐจ์ ๋ฐฐ์ด
๋ฐฐ์ด ์์ ๋ ๋ค๋ฅธ ๋ฐฐ์ด์ด ์๋ ๊ฒฝ์ฐ์
๋๋ค.
๋๋ฌผ์์์ ํธ๋์ด๊ฐ ์๋ผ๋ฅผ ๋ณ์๋ค๊ณ ํด ๋ณผ๊น์?
let zoo = [["ํธ๋์ด1","ํธ๋์ด2","ํธ๋์ด3"],"๊ธฐ๋ฆฐ", "์ฝ๋ฟ์", "ํ ๋ผ", "ํญ๊ท" ]
zoo[0] = Array(3) [ "ํธ๋์ด1", "ํธ๋์ด2", "ํธ๋์ด3" ]
์ฌ๊ธฐ์ ํธ๋์ด3 ์ด๋ผ๋ ์์์ ์ ๊ทผํ ๋๋
zoo[0][2]//0๋ฒ์งธ index ์๋ฆฌ๋จผํธ์์ 2๋ฒ์งธ index ์๋ฆฌ๋จผํธ
์ด๋ ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ง๋ฌด๋ฆฌ
๋ฐฐ์ด์ ๊ธฐ๋ณธ๋ง ํ๋ ค ํ๋๋ฐ ์์ด ๋๋ฌด ๋ง์์ง ๋๋์ด๋ค์..
๋ฐฐ์ด์์ ์ฌ์ฉํ ์ ์๋ slice
๋ฉ์๋๋ ๋์ค์ ์ ๋๋ก ํ๊ฒ ์ต๋๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(07. Array), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@pingu944/07.Array์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค