๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Javascript

๋ฐฐ์—ด ๊ฐ์ฒด (1)

by oranssy 2022. 8. 12.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ ๋ฐฐ์—ด ๊ฐ์ฒด ( length ์†์„ฑ , join / push / pop ๋ฉ”์„œ๋“œ ) โญ๏ธ


01. ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜ : ๋ฐฐ์—ด ๊ฐ์ฒด

ํ‘œ์ค€ ๋‚ด์žฅ ๊ฐ์ฒด(Standard Built-in Object)๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋“ค์„ ๋งํ•˜๋ฉฐ, ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ํ•ต์‹ฌ์ ์ธ ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.
๋‚ด์žฅ ๊ฐ์ฒด์˜ ์ข…๋ฅ˜์—๋Š” Object, Fuction, String, Array, Math, Number, Event, Boolean, Data, RegExp ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ์ค‘์—์„œ ๋ฐฐ์—ด ๊ฐ์ฒด(Array Object)๋Š” ์—ฐ๊ด€์„ฑ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ/๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

   ___ ์ฐธ๊ณ ํ•˜๊ธฐ ___
  1)   ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋Œ€๊ด„ํ˜ธ[ ]๋ฅผ ํ™œ์šฉํ•œ ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, Array( )๋ผ๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  2)   ๋’ค์— ( )๊ฐ€ ๋ถ™์ง€ ์•Š๋Š” '์†์„ฑ'์€, ์˜๋ฌธ๋ฒ•์— ๋น„์œ ํ•˜์ž๋ฉด '๋ช…์‚ฌ'๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ˜› length; ์†์„ฑ
      ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ทธ๋Œ€๋กœ์˜ ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  3)   ๋’ค์— ( )๊ฐ€ ๋ถ™๋Š” '๋ฉ”์„œ๋“œ'๋Š”, ์˜๋ฌธ๋ฒ•์— ๋น„์œ ํ•˜์ž๋ฉด '๋™์‚ฌ'๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ˜› join( ); ๋ฉ”์„œ๋“œ
      ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์ด๋‚˜ ์œ„์น˜๊ฐ€ ๋ณ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด, ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋– ํ•œ ์•ก์…˜์„ ์ทจํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

02. length ์†์„ฑ

length ๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์œผ๋กœ, ๋ฐฐ์—ด์— ์ €์žฅ๋œ '์š”์†Œ์˜ ๊ฐœ์ˆ˜'๋ฅผ ๋ฐ˜ํ™˜(๋ฆฌํ„ด)ํ•ฉ๋‹ˆ๋‹ค.

// 1๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const arrNum = [100, 200, 300, 400, 500];
document.querySelector(".sample01_P1").innerHTML = arrNum.length ;
// 2๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const arrTxt = ['a', 'b', 'c', 'd', 'f'];
document.querySelector(".sample01_P2").innerHTML = arrTxt.length ;
// 3๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const arr = [1, 2, ['a', 'b']];
document.querySelector(".sample01_P3").innerHTML = arr.length ;
๋ฒˆํ˜ธ ๊ธฐ๋ณธ๊ฐ’ ์†์„ฑ ๋ฆฌํ„ด๊ฐ’
1 [100, 200, 300, 400, 500] length 5
2 ['a', 'b', 'c', 'd', 'f'] 5
3 [1, 2, ['a', 'b']] 3

03. join ๋ฉ”์„œ๋“œ ๐Ÿคฉ๐Ÿคฉ๐Ÿคฉ

๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ž์—ด์˜ ๊ตฌ๋ถ„์ž(๋„์–ด์“ฐ๊ธฐ, ํŠน์ˆ˜๋ฌธ์ž, - ๋‹ค์‹œ, ๋“ฑ)์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

const arrNum = [100, 200, 300, 400, 500];
// 1๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const text1 = arrNum.join(''); // ๊ธฐ๋ณธ์‹ (๊ตฌ๋ถ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ)
// 2๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const text2 = arrNum.join(' '); // ๊ตฌ๋ถ„์ž : ๋„์–ด์“ฐ๊ธฐ (ํ•œ ์นธ ๋„์›€)
// 3๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const text3 = arrNum.join('๐Ÿค—'); // ๊ตฌ๋ถ„์ž : ํŠน์ˆ˜๋ฌธ์ž
// 4๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const text4 = arrNum.join('-'); // ๊ตฌ๋ถ„์ž : - (๋‹ค์‹œ)
๋ฒˆํ˜ธ ๊ธฐ๋ณธ๊ฐ’ ๋ฉ”์„œ๋“œ ๋ฆฌํ„ด๊ฐ’
1 [100, 200, 300, 400, 500] join('') 100200300400500
2 join(' ') 100 200 300 400 500
3 join('๐Ÿค—') 100๐Ÿค—200๐Ÿค—300๐Ÿค—400๐Ÿค—500
4 join('-') 100-200-300-400-500

04. push ๐Ÿคฉ๐Ÿคฉ/ pop ๋ฉ”์„œ๋“œ ๐Ÿค

push ๋ฉ”์„œ๋“œ์™€ pop ๋ฉ”์„œ๋“œ๋Š” ์›๋ณธ ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์ž…๋‹ˆ๋‹ค.
๐Ÿข push( ) ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„, ๋ณ€๊ฒฝ๋œ ๋ฐฐ์—ด์˜ ๊ธธ์ด(๋ฐฐ์—ด์˜ ์ˆ˜)๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๐Ÿข pop( ) ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ ํ›„, ์ œ๊ฑฐํ•œ ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// 1๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const arrNum = [100, 200, 300, 400, 500];
const arrPush = arrNum.push(600);
document.querySelector(".sample03_N1").innerHTML = "1";
document.querySelector(".sample03_Q1").innerHTML = "[100, 200, 300, 400, 500]";
document.querySelector(".sample03_M1").innerHTML = "push(600)";
document.querySelector(".sample03_P1").innerHTML = arrPush; //arrNum ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ '600'์ด ์ถ”๊ฐ€๋˜๊ณ , ์ด์— ๋”ฐ๋ผ ๋ฐฐ์—ด์˜ ๊ธธ์ด = '6' ์ด ๋ฐ˜ํ™˜๋จ (์›๋ณธ ๋ฐฐ์—ด์ด ๋ฐ”๋€œ)
document.querySelector(".sample03_A1").innerHTML = arrNum; //100, 200, 300, 400, 500, 600 (๋ณ€๊ฒฝ๋œ ๋ฐฐ์—ด์ด ์ถœ๋ ฅ๋จ)
// 2๋ฒˆ ๋ฆฌํ„ด ----------------------------------------------------------------
const arrNum2 = [100, 200, 300, 400, 500];
const arrPush2 = arrNum2.pop();
document.querySelector(".sample03_N2").innerHTML = "2";
document.querySelector(".sample03_Q2").innerHTML = "[100, 200, 300, 400, 500]";
document.querySelector(".sample03_M2").innerHTML = "pop()";
document.querySelector(".sample03_P2").innerHTML = arrPush2; //arrNum2 ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ์ธ '500'์ด ์ œ๊ฑฐ๋˜๊ณ , ์ด์— ๋”ฐ๋ผ ์ œ๊ฑฐ๋œ ์š”์†Œ = '500' ์ด ๋ฐ˜ํ™˜๋จ (์›๋ณธ ๋ฐฐ์—ด์ด ๋ฐ”๋€œ)
document.querySelector(".sample03_A2").innerHTML = arrNum2; //100, 200, 300, 400 (๋ณ€๊ฒฝ๋œ ๋ฐฐ์—ด์ด ์ถœ๋ ฅ๋จ)
๋ฒˆํ˜ธ ๊ธฐ๋ณธ๊ฐ’ ๋ฉ”์„œ๋“œ ๋ฆฌํ„ด๊ฐ’ ๊ฒฐ๊ณผ๊ฐ’
1 [100, 200, 300, 400, 500] push(600) 6 100,200,300,400,500,600
2 pop( ) 500 100,200,300,400
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€