1. ๋ฐฐ์ด์ด๋?
์์(index)๊ฐ ์๋ ๊ฐ(element)์ ์งํฉ
2. ๋ฐฐ์ด์ ๋ฌธ๋ฒ
์์๋ 1์ด ์๋๋ผ 0๋ถํฐ ๋ฒํธ๋ฅผ ๋งค๊ธด๋ค.
๋๊ดํธ []
๋ฅผ ์ด์ฉํด ๋ฐฐ์ด์ ๋ง๋ ๋ค.
๊ฐ๊ฐ์ ์์(element)๋ ,
๋ก ๊ตฌ๋ถํด ์ค๋ค.
3. ๋ฐฐ์ด ์ธ๋ฑ์ค ์ฐพ๊ธฐ/์ถ๊ฐ/์ญ์
์ธ๋ฑ์ค ๊ฐ ๊ตฌํ๊ธฐ
Copy let myNumber = [ 73 , 98 , 86 , 61 , 96 ];
// myNumber ๋ผ๋ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ์?
myNumber[ 3 ]; // 61
let myNumber = [ 73 , 98 , 86 , 61 , 96 ];
// myNumber ๋ผ๋ ๋ฐฐ์ด์ 5๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ์?
myNumber[ 5 ]; // undefined : ์ด ๋ฐฐ์ด์ 4๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ ๊น์ง ๋ฐ์ ์๋ค.
๋ฐฐ์ด ์์ ์๋ ๋ฐฐ์ด์ ์ธ๋ฑ์ค ๊ฐ ๊ตฌํ๊ธฐ
Copy let myNumber = [[ 13 , 30 ] , [ 73 , 8 ] , [ 44 , 17 ]];
// myNumber ๋ผ๋ ๋ฐฐ์ด์ 1๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ์?
myNumber[ 1 ]; // [73, 8]: [13] ์๋ ์ฃผ์!
let myNumber = [[ 13 , 30 ] , [ 73 , 8 ] , [ 44 , 17 ]];
// myNumber ๋ผ๋ ๋ฐฐ์ด์ 1๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ์ 0๋ฒ์งธ ์ธ๋ฑ์ค์ ๊ฐ์?
myNumber[ 1 ]; // 73
let myNumber = [[ 13 , 30 ] , [ 73 , 8 ] , [ 44 , 17 ]];
myNumber[ 1 ]; // [73, 8]
myNumber[ 1 ][ 0 ]; // 73: ์ด๋ ๊ฒ ๋๊ดํธ์ ๋๊ดํธ๋ฅผ ๋ถ์ฌ์๋ ๋ํ๋ผ ์ ์๋ค.
๋ฐฐ์ด๋ก ๊ธธ์ด ์์๋ด๊ธฐ
Copy let myNumber = [ 73 , 98 , 86 , 61 ];
// myNumber ๋ฐฐ์ด์ ๊ธธ์ด๋?
myNumber . length ; // 4: ์จ์ ์ ํ์ฉํด ๋ณ์๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ์ ์ ๊ทผ ๊ฐ๋ฅ
Copy ley myNumber = [ 73 , 98 , 86 , 61 ];
// myNumber ๋ฐฐ์ด ๋์ 96 ์ด๋ผ๋ ๊ฐ์ '์ถ๊ฐ'ํ๋ ค๋ฉด
myNumber .push ( 96 );
// myNumber ๋ฐฐ์ด ๋ง์ง๋ง ๊ฐ์ '์ญ์ 'ํ๋ ค๋ฉด
myNumber .pop ();
๋ฐฐ์ด๋ก ๋งจ ๋ค์ ์์ ์ถ๊ฐ/์ญ์ ํ๊ธฐ
์จ์ (.)์ผ๋ก ๊ด๋ จ๋ ๋ช
๋ น(method: ํํ ๋งํ๋ ๋ฉ์๋)๋ ์คํ ๊ฐ๋ฅ
๋ช
๋ น์ ์คํํ ๋๋ ํจ์๋ฅผ ์คํํ๋ฏ ๊ดํธ ์ด๊ณ ๋ซ๊ธฐ ํํ๋ก ์คํํ ์ ์์.
4. ๋ฐฐ์ด์ ๋ฐ๋ณต
๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด ๋ฐฐ์ด์ ์์๋ฅผ ํ๋ฒ์ฉ ์ถ๋ ฅํ๊ธฐ
Copy let myNum = [ 73 , 98 , 86 , 61 ];
for ( let n = 0 ; n < myNum . length ; n ++ ) {
console .log (myNum[n]);
}
๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋์ ํด์ ๋ํ๊ธฐ
์ด๋, ์ฒ์์ 0 ํ ๋น์ ํ์ง ์์ผ๋ฉด undefined๊ฐ ๋์ค๊ณ , ์ด๊ธฐ๊ฐ์ ๋ฃ์ง ์์ ์ํ๋ก ์๋์ ๊ณ์ฐ์ ์ญ ์งํํ๋ฉด NaN์ด ๋์ฌ ๊ฒ์ด๋ค.
Copy let myNum = [ 10 , 20 , 40 , 10 ];
let sum = 0 ;
for ( let n = 0 ; n < myNum . length ; n ++ ) {
// sum = 0 + 10 -> sum + myNum[0]
// sum = 10 + 20 -> sum + myNum[1]
// sum = 30 + 40 -> sum + myNum[2]
// sum = 70 + 10 -> sum + myNum[3] -> ๋งํ์๋ฉด ์ด๋ฐ ํํ์ด๋
sum = sum + myNum[n]; // sum์ ์ด๋ฐ ์์ผ๋ก ๊ณ์ฐํ์
}
console .log (sum); // 80
5. ๊ฐ์ฒด ๊ฐ ์กฐํ ๋ฐฉ๋ฒ
Array.isArray
ํน์ ๊ฐ์ด ๋ฐฐ์ด์ธ์ง ์๋์ง ํ๋ณํ๊ธฐ
Copy let words = [ 'ํ๋ก ํธ' , '์๋' , '๊ฐ๋ฐ์' ];
typeof words // "object" : ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง words ๋ผ๋ ๋ฐฐ์ด์ type์ object์
typeof [ 1 , 2 , 3 ] // "object" : ์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฐฐ์ด์ type์ object์
Array .isArray ( '๋ฌธ์์ด' ) // false : ๋ฌธ์์ด์ ๋ฐฐ์ด์ด ์๋
Array .isArray ( 123 ) // false : ์ซ์๋ ๋ฐฐ์ด์ด ์๋
Array .isArray (words) // true : words์ ๋ฐฐ์ด ํํ๊ฐ ๋ง์
Array .isArray ([]) // true : ๋๊ดํธ๋ ๋ฐฐ์ด์ ์๋ฏธํ๋ฏ๋ก ๋ฐฐ์ด์ด ๋ง์
push, pop
๋ฐฐ์ด์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ์ญ์ ํ๊ธฐ
Copy let arr = [ 'frontend' , 'engineer' ];
console .table (arr) // Array(2)
arr .push ( 'ella' ) // ๋งจ ๋ค์ 'pre' ๋ผ๋ ์์ ์ถ๊ฐ
console .table (arr) // Array(3)
arr .pop () // ๋งจ ๋ค์ ์์ ์ ์ธ
console .table (arr) // Array(2)
arr .shift () // ๋งจ ์์ ์์ ์ ์ธ
console .table (arr) // Array(1)
arr .unshift ( 'good' ) // ๋งจ ์์ 'good' ๋ผ๋ ์์ ์ถ๊ฐ
console .table (arr) // Array(2)
! [ array .png](.. / Images / array .png))
indexOf
ํน์ ๊ฐ์ด ๋ฐฐ์ด์ ํฌํจ๋์ด ์๋์ง ํ์ธํ๊ณ , ์ธ๋ฑ์ค ๊ฐ์ ์์๋ด๊ธฐ
Copy let word = [ 'front' , 'end' , 'engineer' ];
word .indexOf ( 'end' ) // 1 : ํด๋น elemment๊ฐ ๋ค์ด์๋ ์ธ๋ฑ์ค ๊ฐ
word .indexOf ( 'engineer' ) // 2 : engineer์ ์ธ๋ฑ์ค ๊ฐ
word .indexOf ( 'ella' ) // -1 : ์๋ ๋จ์ด์ด๋ฏ๋ก -1 ํ์๋จ
word .indexOf ( 'front' ) !== - 1 // true : -1์ด ์๋๋? ์ฆ, ๋จ์ด๊ฐ ์๋๊ฑฐ ๋ง๋? -> ์๋ค(true)
word .indexOf ( 'ella' ) !== - 1 // false : -1์ด ์๋๋? ์ฆ, ๋จ์ด๊ฐ ์๋๊ฑฐ ๋ง๋? -> ์๋ค(false)
word .indexOf ( 'FRONT' ) // -1 : ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ ์ฃผ์
includes
ํน์ ๊ฐ์ด ๋ฐฐ์ด์ ํฌํจ๋์ด ์๋์ง ํ์ธ ํ๊ธฐ
Copy // 1. ํจ์๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ
// ํน์ ํ ๋ฐฐ์ด์ ์ฐพ๊ณ ์ํ๋ element ํฌํจ ์ฌ๋ถ๋ฅผ false/true๋ก ๋ฐํํ๋ ํจ์
// hasElement(๋ฐฐ์ด, ์ฐพ์ผ๋ ค๋ ์๋ฆฌ๋จผํธ) -> true or false
function hasElement (arr , element) {
let isPresent = arr .indexOf (element) !== - 1 ; // ์ฐพ์ผ๋ ค๋ element๊ฐ ์๋ค๋ฉด (= ์์ง ์๋ค๋ฉด)
return isPresent; // ํด๋น ๊ฐ์ ๋ฆฌํดํ๋ผ
}
hasElement (words , 'end' ) // true
hasElement (words , 'ella' ) // false
// 2. ๋ฉ์๋๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ
let words = [ 'front' , 'end' , 'engineer' ];
words .includes ( 'end' ) // true
words .includes ( 'ella' ) // false