TIL 11: ๋ฐฐ์—ด

๋“œ๋””์–ด ์ข€ ๋ฐ”์œ ๊ฒƒ๋“ค์ด ๋‹ค ์ง€๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค. ์ฃผ๋ง์— ์ž๊ฒฉ์ฆ ์‹œํ—˜๋„ ๋ณด๊ณ  ์˜ค๋Š˜ ๋ฉด์ ‘๊นŒ์ง€ ๋ดค๋Š”๋ฐ์š”. ์ด๊ฑด ๋ถ€ํŠธ์บ ํ”„ ์ง€์› ์ „์— ์‹ ์ฒญํ•ด๋†จ๋˜ ๊ฑฐ๋ผ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋‹ค ๋„์ „ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค! ๋‘˜ ๋‹ค ๋†“์น˜๋ฉด ์•„๊นŒ์šด ๊ฒฝํ—˜์ธ ๊ฒƒ ๊ฐ™์•„์„œ์š”..! ์ด์ œ ์ •๋ง ์ฝ”๋”ฉ ๋ฐ–์— ์•ˆ๋‚จ์•˜์œผ๋‹ˆ ๋ฆฌํ”„๋ ˆ์‹œํ•  ๋•Œ๋Š” ํ—ฌ์Šค ์ข€ ํ•˜๊ณ  ๊ทธ ์™ธ์˜ ์‹œ๊ฐ„์—๋Š” ์ฝ”๋”ฉ์— ์ง‘์ค‘ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹คใ…Žใ…Ž ์˜ค๋Š˜ ์ดํ‹€์น˜ ์“ฐ๋ฉด ๋‹ค์‹œ ์›๋ž˜ ๋‚ ์งœ๋กœ ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”! ๊ธ‰ํ•˜๋‹ˆ ์˜ค๋Š˜๊นŒ์ง€๋งŒ ๊ธฐ๋ณธ๋ชจ๋“œ๋กœ ์ž‘์„ฑํ•˜๊ณ  ๋‚ด์ผ๋ถ€ํ„ฐ ๋งˆํฌ๋‹ค์šด ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋„์ „!!!

 

๋ฐฐ์—ด๊ณผ TIL 12์—์„œ ์†Œ๊ฐœํ•  ๊ฐ์ฒด๋Š” ์ˆ˜๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ์šฐ๋ฆฌ ํ•ธ๋“œํฐ์— ์žˆ๋Š” ์—ฐ๋ฝ์ฒ˜๋ฅผ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์—ฐ๋ฝ์ฒ˜์˜ ์ด๋ฆ„, ๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ์ฃผ์†Œ ๋“ฑ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋“ค์„ ์‰ฝ๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด๋Š” ์ด์ „์— ๋ฐฐ์› ๋˜ ์›์‹œ ํƒ€์ž…(์ˆซ์ž, ๋ฌธ์ž์—ด, boolean, undefined)์™€ ๋‹ฌ๋ฆฌ ์ฐธ์กฐํƒ€์ž…(reference type)์ž…๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด๋Š” ๊ฐ๊ฐ ํŒŒ์ด์ฌ์—์„œ์˜ ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ์™€ ๋น„์Šทํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ œ์ผ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์€ ์ œ์™ธํ•˜๊ณ  ํŒŒ์ด์ฌ๊ณผ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด๋‚˜ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค (:

 

๋ฐฐ์—ด์—๋Š” ์–ด๋А ์ •๋„ ๊ณตํ†ต์ ์ธ ์†์„ฑ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๋ณด๋‹ˆ ๋ฐ˜๋ณต๋ฌธ for๋ฌธ์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์š”์†Œ(element)๋ฅผ ๊ฐ๊ฐ ์ถœ๋ ฅ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ์ผ์ด ํ•˜์ง€ ์•Š๊ณ  for๋ฌธ์œผ๋กœ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๋Š” ๊ฑธ ์“ฐ๋ฉด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!

let score = [56, 78, 98, 82, 43];
for (let n = 0; n < score.length; n++) {
  console.log(score[n]);
 }

 

Array Basic Method

์›๋ž˜ '๋ฐฐ์—ด ๊ธฐ์ดˆ ๋ฉ”์†Œ๋“œ'๋ผ๊ณ  ์น ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋งค๋ฒˆ ๋งค์†Œ๋“œ ๋งค์„œ๋“œ ์น ๋•Œ๋งˆ๋‹ค ์™œ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ข€ ์–ด์ƒ‰ํ•˜๋”๋ผ๊ตฌ์š”! ๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ๋Š” ๊ทธ๋ƒฅ Method๋ผ๊ณ  ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹คใ…‹ใ…‹ใ…‹ ์ €๋Š” ๋ฌธ์ œ ํ’€ ๋•Œ ๊ณ„์† ํ—ท๊ฐˆ๋ ธ๋˜ ๋ถ€๋ถ„์ด mutable์ด๋ƒ immutable์ด๋ƒ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„ ์•ž์œผ๋กœ ๊ณ„์† ์ฃผ์˜ํ•˜๋ฉด์„œ ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ตฌ์š”!

 

Array.isArray( ): ๋ฐฐ์—ด์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„

Boolean๊ฐ’ ๋ฆฌํ„ด

 

push( )๊ฐ์ฒด์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์žˆ๋Š” ์š”์†Œ(element)์— ์ถ”๊ฐ€

์ƒˆ๋กœ์šดarray ๊ธธ์ด ๋ฆฌํ„ด

 

pop( )๊ฐ์ฒด์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์— ์žˆ๋Š” ์š”์†Œ ์‚ญ์ œ

์‚ญ์ œ๋œ ์š”์†Œ ๋ฆฌํ„ด

 

unshift( )๊ฐ์ฒด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์— ์ถ”๊ฐ€

์ƒˆ๋กœ์šด array ๊ธธ์ด ๋ฆฌํ„ด

 

shift( )๊ฐ์ฒด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ ์‚ญ์ œ

์‚ญ์ œ๋œ ์š”์†Œ ๋ฆฌํ„ด

 

์œ„์˜ ๋„ค๊ฐ€์ง€ Method (push, pop, unshift, shift)๊ฐ€ ์ œ๋Œ€๋กœ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋œ ์ƒํƒœ์—์„œ ์ด์šฉํ•  ๋•Œ ์ €๋Š” ์–ด๋–ค ๊ฑธ ๋ฆฌํ„ดํ•˜๋Š”์ง€๊ฐ€ ์ข€ ํ—ท๊ฐˆ๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทผ๋ฐ ํŽ˜์–ด๋ถ„๊ป˜์„œ ์ •๋ฆฌํ•ด์ฃผ์‹œ๋‹ˆ ๋ฐ”๋กœ ์ดํ•ด๊ฐ€ ๋๋Š”๋ฐ์š”! ์ถ”๊ฐ€ํ•˜๋Š” Method๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ฃผ๊ณ , ์‚ญ์ œํ•˜๋Š” Method๋Š” ์‚ญ์ œํ•˜๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ๋ฏธ๋ฆฌ ๊ธฐ์–ตํ•˜์‹œ๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์œ„ method๋Š” ๋ชจ๋‘ mutable์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ๋ฐฐ์—ด์ด method๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋ฐ”๋€๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค!

 

array.indexOf( ): ๊ด„ํ˜ธ ์•ˆ์— ์žˆ๋Š” ์š”์†Œ์˜ ์ธ๋ฑ์Šค ๊ฐ’ ์•Œ๋ ค์คŒ

์ธ๋ฑ์Šค ๊ฐ’ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด -1. includes๋ผ๋Š” method๋„ ์žˆ์ง€๋งŒ ์ธ๋ฑ์Šค๊ฐ’๊นŒ์ง€ ์•Œ๋ ค์ฃผ์ง€ ์•Š๊ณ  boolean์œผ๋กœ๋งŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๋˜ํ•œ includes๋Š” Internet explorer์—์„œ๋„ ํ˜ธํ™˜์ด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ €๋Š” ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์•„ ๋”ฐ๋กœ ์ •๋ฆฌ๋Š” ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

 

array1.concat(array2): array1์— array2 ํ•ฉ์น˜๊ธฐ

array.slice(์‹œ์ž‘์ , ๋งˆ์ง€๋ง‰์ +1): ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰์ ๊นŒ์ง€๋งŒ ์ถœ๋ ฅ

array.splice(์ธ๋ฑ์Šค, ๋Œ€์ฒดํ•  ๊ฐœ์ˆ˜, ๋Œ€์ฒดํ•  ๋‚ด์šฉ): ์š”์†Œ๋ฅผ ์ง€์šฐ๊ธฐ๋„ ํ•˜๊ณ , ๊ธฐ์กด์˜ ์š”์†Œ๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ๋„ ํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋„ ํ•จ.

concat๊ณผ slice๋Š” immutable์ธ ๋ฐ˜๋ฉด์—” splice๋Š” mutable์ž…๋‹ˆ๋‹ค. 

 

str.split(" ").join(" "): ๋ฌธ์ž์—ด๊ณผ ๋ฐฐ์—ด์˜ ํƒ€์ž… ๋ณ€ํ™˜์„ ๋•๋Š” method

split์€ ๋ฌธ์ž์—ด์„ " "๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ฐฐ์—ด์˜ ์š”์†Œ์— ์ถ”๊ฐ€ํ•˜๊ณ , join์€ ๋ฐฐ์—ด์„ " "๋ฅผ ์‚ฌ์ด์— ๋ผ๊ณ  ๋ฌธ์ž์—ด๋กœ ์ „ํ™˜ํ•ด์ค๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค immutable์ž…๋‹ˆ๋‹ค.

 

 

'TIL > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TIL 14: JS ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๋ฌธ๋ฒ•  (0) 2021.08.05
TIL 12: ๊ฐ์ฒด  (0) 2021.08.03
TIL6: ๋ณต์Šต  (0) 2021.07.24
TIL 4 : ๋ฐ˜๋ณต๋ฌธ (JavaScript)  (0) 2021.07.22
TIL 3 : ๋ฌธ์ž์—ด (JavaScript)  (0) 2021.07.21