array
๋ฐฐ์ด
์์๊ฐ ์๋ ์ปฌ๋ ์ ์ ์ ์ฅํ๊ธฐ์ํ ์๋ฃ๊ตฌ์กฐ
ํน๋ณํ ๊ฐ์ฒด์ค ํ ์ข
๋ฅ์ด๊ธฐ ๋๋ฌธ์ length๋ผ๋ ํ๋กํผํฐ์ ๋๊ดํธ ์ ๊ทผ๋ฑ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค.
์ ์ธ๋ฐฉ๋ฒ
let arr = new Array();
let arr = [];
ํน์ง
๋ฐฐ์ด ์์์ ์๋ฃํ์ ์ ์ฝ์ด ์๋ค.
let arr = [ '์ฌ๊ณผ', { name: '์ด๋ณด๋ผ' }, true, function () { alert('์๋ ํ์ธ์.'); }, ];for...of๋ฌธ ์ด์ฉํด์ ์ํ ๊ฐ๋ฅlength ํ๋กํผํฐ๋ฅผ ์ด์ฉํด์ ๋ฐฐ์ด์ ์๋ฅด๋ ๊ฒ ๊ฐ๋ฅํ๋ค.let arr = [1, 2, 3, 4, 5]; arr.legth = 2; alert(arr); //1,2๋ด๋ถ์ ์ผ๋ก toString ๋ฉ์๋๊ฐ ๊ตฌํ๋์ด ์์ด ํธ์ถ์ ์ผํ๋ฅผ ๊ตฌ๋ถํ ๋ฌธ์์ด์ด ๋ฐํ๋๋ค.
let arr = [1, 2, 3]; alert(arr); //1,2,3 alert(String(arr) === '1,2,3'); //true๋ฐฐ์ด๋ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ์์ ํ ๋ณต์ ๊ฐ ์๋ ์ฐธ์กฐ์ ์ํ ๋ณต์ฌ๊ฐ ์ด๋ฃจ์ด์ง๋ค.
๊ฐ์ฒดํ์ด๊ธฐ ๋๋ฌธ์
typeof๋ก๋ ์ผ๋ฐ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ๊ตฌ๋ถํ ์ ์๋ค.Array.isArray()์ด์ฉ
alert(typeof {}); // object alert(typeof []); // object alert(Array.isArray({})); // false alert(Array.isArray([])); // truesort์ ์ธ ๋๋ถ๋ถ์ ํจ์๋ฅผ ํธ์ถํ๋ ๋ฉ์๋์์
thisArg๋ผ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ต์ ์ผ๋ก ๋ฐ์์ ์๋ค.let army = { minAge: 18, maxAge: 27, canJoin(user) { return user.age >= this.minAge && user.age < this.maxAge; }, }; let users = [{ age: 16 }, { age: 20 }, { age: 23 }, { age: 30 }]; // army.canJoin ํธ์ถ ์ ์ฐธ์ ๋ฐํํด์ฃผ๋ user๋ฅผ ์ฐพ์ let soldiers = users.filter(army.canJoin, army); alert(soldiers.length); // 2 alert(soldiers[0].age); // 20 alert(soldiers[1].age); // 23army๋ผ๋
thisArg๋งค๊ฐ๋ณ์๋ฅผ ํจ์์ ์ ๋ฌํ๊ณ ์์ดthisArg๋ ํจ์์this๊ฐ ๋๋ค.
ํจ์
์์ ์ถ๊ฐ / ์ ๊ฑฐ
push() :
๋งจ๋์ ์์๋ฅผ์ถ๊ฐpop() :
๋งจ๋์ ์์๋ฅผ์ถ์ถ์คํ์ ์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅ
shift() :
์ ์ผ ์์์๋ฅผ ๊บผ๋ด์ ๊ฑฐํ ํ ๋จ์์๋ ์์๋ค์ ์์ผ๋ก ๋ฐ์ด์ฃผ๋ ํจ์์ด๋ฅผ ์ด์ฉํด ํ๋ฅผ ์ฝ๊ฒ ๊ตฌํ๊ฐ๋ฅํ๋ค.
unshift() :
๋ฐฐ์ด ์์ ์์๋ฅผ์ถ๊ฐsplice() : ๋ฐฐ์ด์์
์์๋ฅผ ์ง์ฐ๊ณ ์ฝ์arr.splice(start, length, element1 ...)
์์ ์ธ๋ฑ์ค๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
slice(start,end) :
์์ ์ง์ฐ๊ธฐstart๋ถํฐ end๊น์ง ์์๋ฅผ ๋ณต์ฌํ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ
concat(arg1,arg2,...) : ๊ธฐ์กด ๋ฐฐ์ด์ ์์๋ฅผ ์ฌ์ฉํด
์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค๊ฑฐ๋ ๊ธฐ์กด ๋ฐฐ์ด์์์๋ฅผ ์ถ๊ฐํ๊ธฐ์ธ์๋ก ๊ฐ์ฒด๊ฐ ๋์ด์ค๋ฉด ๊ฐ์ฒด๋ ๋ถํด๋์ง ์๊ณ ํต์ผ๋ก ๋ณต์ฌ๋์ด ๋ํด์ง๋ค.
Symbol.isConcatSpreadable์ด ์์ผ๋ฉด concat์ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด ์ทจ๊ธ
๋ฐฐ์ด ๋ฐ๋ณต์์
forEach() : ๋ฐ๋ณต์์ ํ๊ธฐ
๋ฐฐ์ด ํ์
indexOf(item,from),lastIndexOf(item,from),includes(item,from): ๋ฌธ์์ด๊ณผ ๋์ผํ๊ฒ item์ด from๋ถํฐ ์๋์ง๊ฒ์ฌํ๋ ํจ์๋ด๋ถ์ ์ผ๋ก ์์๋ฅผ ์ฐพ์๋
===์ ์ฌ์ฉํ๋ค.includes๋
NaN๋ ์ฒ๋ฆฌ
find(function) : ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ด ์์๋ ํน์ ์กฐ๊ฑด์ ๋ถํฉํ๋ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ด์์ ์ฐพ์ ๋ ์ด์ฉ
์กฐ๊ฑด์ ๋ถํฉํ๋(true๊ฐ ๋๋) ํ๋์ ์์๋ง ์ฐพ๋๋ค
function์ผ๋ก ํ์ด ํจ์๋ฅผ ์ด์ฉ๊ฐ๋ฅํ๋ค.
filter(function) :
์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ ๋ชจ๋ ์์๋ฅผ ๋ด์๋ฐฐ์ด์ ๋ฐํfind()์ ๋ง์ฐฌ๊ฐ์ง๋ก function์ผ๋ก ํ์ด ํจ์๋ฅผ ์ด์ฉ๊ฐ๋ฅํ๋ค.
๋ฐฐ์ด ๋ณํ
map(function) : ๋ฐฐ์ด ์์
์ ์ฒด๋ฅผ ๋์์ผ๋ก ํจ์๋ฅผ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ๋ฐฐ์ด๋ก ๋ฐํsort(function) : ๋ฐฐ์ด์ ์ ๋ ฌ
๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฐ์ด์ ๋ด๋ถ ์์๋ฅผ ๋ฌธ์์ด๋ก ์ทจ๊ธํ์ฌ ์ฌ์ ๋ ฌํ๋ค.
๋ฐ๋ผ์ ์ซ์๋ก ๋น๊ตํ๋ ค๋ฉด ๋ด๋ถ์ ํจ์๋ฅผ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
๋น๊ต ํจ์๊ฐ
์์๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ๋ ์ฒซ๋ฒ์งธ ์ธ์๊ฐ ๋๋ฒ์งธ๋ณด๋คํฌ๋ค์ด๊ณ์์๋์๋ค์ด๋ค.๋ฌธ์์ด์ ์ ๋์ฝ๋ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ ๋๋ฌธ์ ๋ฐ์๊ธฐํธ๋ฑ ์ ํํ์ง ์์ ์ ์์ด str.localeCompare(str2)๋ฅผ ์ด์ฉํ๋ฉด ์ ํํ๊ฒ ๋น๊ต๊ฐ ๊ฐ๋ฅํ๋ค.
reverse() : ๋ฐฐ์ด์ ์ญ์์ผ๋ก ์ ๋ ฌ
split(delim) :
๊ตฌ๋ถ์(delim)์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์ชผ๊ฐ์ค๋ค.delim์ผ๋ก
๋น๋ฌธ์์ด ('')์ ์ฃผ๋ฉด ๊ธ์ ๋จ์๋ก ๋ถ๋ฆฌํ ์ ์๋ค.
join(glue) : split๊ณผ ๋ฐ๋์ ๊ธฐ๋ฅ์ผ๋ก ์ธ์๋ฅผ ์ฌ์ฉํด ๋ฐฐ์ด ์์๋ฅผ
๋ชจ๋ํฉ์น ๋ฌธ์์ด์ ๋ง๋ค์ด์ค๋ค.reduce() : ๋ฐฐ์ด์ ๊ธฐ๋ฐ์ผ๋ก
๊ฐ ํ๋๋ฅผ ๋์ถํด ๋ผ๋ ์ฌ์ฉ
Array.from
์ดํฐ๋ฌ๋ธ์ด๋ ์ ์ฌ ๋ฐฐ์ด์ ๋ฐ์ ์ง์ง Array๋ฅผ ์์ฑํด์ฃผ๋ ํจ์
๊ฐ์ฒด๋ ๋ฌธ์์ด์ ๋ํ์ ์ธ ๋ด์ฅ ์ดํฐ๋ฌ๋ธ
์ดํฐ๋ฌ๋ธ(iterable) : Symbol.iterator๊ฐ ๊ตฌํ๋ ๊ฐ์ฒด
์ ์ฌ ๋ฐฐ์ด(array-like) : ์ธ๋ฑ์ค์ length ํ๋กํผํฐ๊ฐ ์์ด์ ๋ฐฐ์ด์ฒ๋ผ ๋ณด์ด๋ ๊ฐ์ฒด
์ด๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ์ด๊ธฐํ๋ ํด์ค์ ์๋ค.
์ด๋ ์๋์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ค.
Last updated