D+04
- ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด -
(๋ฐฐ์ด, ๊ฐ์ฒด)
๋ฐฐ์ด
• ๋ฐฐ์ด์ ์์๊ฐ ์๋ ๊ฐ์ผ๋ก '๊ฐ'์ ๋ํ๋ด๋ ์์ ์๋ฆฌ๋จผํธ(element)์ '์์'๋ฅผ ๋ํ๋ด๋ ์ธ๋ฑ์ค(index)๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
• ์์๋ฅผ ๋ํ๋ด๋ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค.
•๋ฐฐ์ด ์์ ๋ฐฐ์ด์ ๋ฃ์ด ์ฌ์ฉํ ์ ์๋ค. (๋ค์ฐจ์ ๋ฐฐ์ด)
๋ฐฐ์ด ์ ์ธ
•๋ฐฐ์ด์ ๋๊ดํธ๋ฅผ ์ฌ์ฉํด ๋ํ๋ด๋ฉฐ ์๋ฆฌ๋จผํธ๋ฅผ ๊ตฌ๋ถ ์ง๊ธฐ ์ํด ์ผํ(,)๋ฅผ ์ฌ์ฉํด ์ค๋ค.
• ๋ฐฐ์ด์ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค ๊ฐ ์์ฐจ์ ์ผ๋ก ์๋ฆฌ๋จผํธ๋ฅผ ๋ฃ์ด์ค๋ค.
• ๋๊ดํธ([])๋ฅผ ์ฌ์ฉํด ์ด์ด์ฃผ๊ณ ๋ซ์์ค๋ค.
๋ฐฐ์ด ํ์ฉํ๊ธฐ
• ๋ฐฐ์ด ๋ถ๋ฌ์ค๊ธฐ
oddNumber[1]; // oddNumber๋ผ๋ ๋ฐฐ์ด์ 1๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ ๋จธ์ผ? --> 3
•๋ฐฐ์ด ๊ฐ ๋ณ๊ฒฝ
oddNumber[1] = 300; // oddNumber๋ผ๋ ๋ฐฐ์ด 1๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์ 300์ผ๋ก ๋ณ๊ฒฝํด์ค
arr.length
• ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์์๋ด๋๋ฐ ์ฌ์ฉํ๋ค.
oddNumber.length; // oddNumber๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ์ผ๋ง์ผ? ---> 5
๋ฐฐ์ด์ ์ถ๊ฐ์ ์ญ์
• arr.push(element) : ๋ฐฐ์ด ๋ง์ง๋ง์ ์์ ์ถ๊ฐํ๊ธฐ
oddNumber.push(11); //oddNumber๋ผ๋ ๋ฐฐ์ด ๊ฐ์ฅ ๋ง์ง๋ง์ 11์ด๋ผ๋ ๊ฐ ๋ฃ์ด์ค
• arr.pop() : ๋ฐฐ์ด ๋ง์ง๋ง์ ์์ ์ญ์ ํ๊ธฐ
oddNumber.pop(); //oddNumber๋ผ๋ ๋ฐฐ์ด ๊ฐ์ฅ ๋ง์ง๋ง ์์๋ฅผ ์ญ์ ํด์ค
• arr.unshift(element) :๋ฐฐ์ด ์ฒซ ๋ฒ์งธ์ ์์ ์ถ๊ฐํ๊ธฐ
oddNumber.unshift(11); //oddNumber๋ผ๋ ๋ฐฐ์ด ๋งจ ์์ 11์ด๋ผ๋ ๊ฐ ๋ฃ์ด์ค
• arr.unshift() : ๋ฐฐ์ด ์ฒซ ๋ฒ์งธ์ ์์ ์ญ์ ํ๊ธฐ
oddNumber.shift(); //oddNumber๋ผ๋ ๋ฐฐ์ด ๋งจ ์ ์์๋ฅผ ์ญ์ ํด์ค
Array.isArray( obj )
๊ธฐ์กด์ ๊ฐ๋ค์ ํ์ ์ ์์๋ณด๊ธฐ ์ํด์ ์ฐ๋ฆฌ๋ 'typeof(operand)'๋ฅผ ์ฌ์ฉํด ์๋ค.
ํ์ง๋ง typeof์ ๋ฐฐ์ด์ ์ ๋ ฅํ๋ฉด 'object'๋ผ๋ ๊ฐ์ด ๋์จ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Array.isArray(obj)๋ฅผ ์ฌ์ฉํด ์ค๋ค๋ฉด ์์ ๋ฃ์ ์ค๋ธ์ ํธ ๊ฐ์ด ๋ฐฐ์ด์ธ์ง ์๋์ง true์ false๋ก ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
๋ฐฐ์ด์ ์กด์ฌ์ฌ๋ถ ํ์ธํ๊ธฐ
• arr.indexOf(element)
ํด๋น ์๋ฆฌ๋จผํธ๋ฅผ ๊ฐ๊ณ ์๋ ๋ฐฐ์ด์ ์์น๋ฅผ ์๋ ค์ฃผ๋ ๋ฉ์๋๋ก
ํด๋น ๊ฐ์ด ์์ ๊ฒฝ์ฐ์ ๋ฐฐ์ด์ ์์น๋ฅผ ์๋ ค์ฃผ๊ณ ๊ฐ์ด ์์ ๊ฒฝ์ฐ์ '-1'์ด ๋์จ๋ค.
•arr.includes(element)
ํด๋น ๋ฐฐ์ด์ด ์๋ฆฌ๋จผํธ๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉด true๋ฅผ
ํฌํจํ์ง ์์ผ๋ฉด false๋ฅผ ๋ด๋ณด๋ธ๋ค.
์ฝ์ ์ฐฝ์์ ๋ฐฐ์ด์ ๋ณด๊ธฐ ์ฝ๊ฒ ๋ถ๋ฌ์ค๋ ๋ฒ
• ๊ธฐ์กด์ ๋ฐฐ์ด์ ์ ์ธํ ๋ฐฉ์์ผ๋ก ๋ด๋ณด๋ด๋ ๊ฒ์ด ์๋ ํ ์ด๋ธ ํ์์ผ๋ก ๋ฐฐ์ด์ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด ์ฝ์ ์ฐฝ์ console.table(arr)๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
๊ฐ์ฒด
ํ ๊ฐ์ง ๋์์์ ์ฌ๋ฌ ๊ฐ์ ๋ณ์๊ฐ ๋์ฌ ๊ฒฝ์ฐ์ ๋ณ์๋ฅผ ํ๋ํ๋ ์ ๋ ฅํด ์ฃผ๋ฉด ์ ์ธํ ๋ณ์์ ์์ด ๋ง์์ง ๋ฟ๋ง ์๋๋ผ ๊ฐ ๋ณ์๋ ๋ณ์๋ช ๋ง ๊ฐ์ ๋ฟ ์ฐ๊ด์ฑ์ด ์ ํ ์๋ค.
๋ํ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐฐ์ด์ ๋ง๋ค์์ ๊ฒฝ์ฐ, ๋ฐฐ์ด์ ์ธ๋ฑ์ค์ ์๋ฆฌ๋จผํธ๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ ์๋ฆฌ๋จผํธ๊ฐ ๋ํ๋ด๋ ๊ฒ์ด ๋ฌด์์ธ์ง๋ฅผ ์๊ธฐ๊ฐ ์ด๋ ต๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ค์ ํ๋ฒ์ ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ๊ฐ๋ค์ด ๋ํ๋ด๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์ ์ ์๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค.
๊ฐ์ฒด์ ์ ์ธ
• ๊ฐ์ฒด๋ ํค์ ๊ฐ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ์๋ค์ ๊ตฌ๋ถ ์ง๊ธฐ ์ํด ์ผํ(,)๋ฅผ ์ฌ์ฉํ๋ค.
• ์ค๊ดํธ({})๋ฅผ ์ฌ์ฉํด ์ด์ด์ฃผ๊ณ ๋ซ์์ค๋ค.
๊ฐ์ฒด์ ๊ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
•Dot notation
user.name; // user๋ผ๋ ๊ฐ์ฒด์ ํค name์ ๊ฐ์ ๊ตฌํด๋ผ ---> 'Jenny'
•Bracket notation
user['name']; // user๋ผ๋ ๊ฐ์ฒด์ ํค name์ ๊ฐ์ ๊ตฌํด๋ผ ---> 'Jenny'
delete ๊ฐ์ฒด.ํค
•๊ฐ์ฒด ์์ ์๋ key์ key์์ ๋ค์ด์๋ ๊ฐ์ ์์ผ๋ก ์ ๊ฑฐํด ์ค๋ค.
delete user.email; // user๊ฐ์ฒด์ ์๋ email์ด๋ผ๋ ํค์ ํค์์ ์๋ ๊ฐ ์ ๊ฑฐํด ์ค
'key' in ๊ฐ์ฒด
•๊ฐ์ฒด ์์ ํด๋น ํค๊ฐ ์๋์ง ํ์ธํด ์ค๋ค.
'name' in user; // user๋ผ๋ ๊ฐ์ฒด์ name์ด๋ผ๋ ํค๊ฐ ์๋? ---> true
'์๋ > Code-States' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[D+06] ๊ฐ์ธ ๊ณต๋ถ (0) | 2020.09.12 |
---|---|
[D+05] ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ ๋์ ์ฝ๋ ์์ฑ๋ฒ (0) | 2020.09.11 |
[D+03] ๋ฐ๋ณต๋ฌธ (0) | 2020.09.09 |
[D+02] JavaScript ๊ธฐ์ด 02 (0) | 2020.09.08 |
[D+01] JavaScript ๊ธฐ์ด 01 (0) | 2020.09.07 |
๋๊ธ