[JavaScript] - ๋ฐฐ์—ด(Array)

NOWANDHEREยท2020๋…„ 10์›” 2์ผ
0

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
6/12
post-thumbnail

๋ฐฐ์—ด(Array)

๐ŸŒป ๋Œ€๋Ÿ‰์˜ ์ •๋ณด๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

๋ฐฐ์—ด ๊ธฐ์ดˆ


Achievement Goals

  • ๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋‹ค์Œ ์šฉ์–ด์— ๋Œ€ํ•ด ์ •ํ™•ํžˆ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
    • index, element

  • ๋ฐฐ์—ด ์š”์†Œ(element)์˜ ์กฐํšŒ, ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณต์‚ฌ, ๋ถ„๋ฆฌ ํ•˜๋Š” ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
    • arr[0], push, pop, unshift, shift, slice, length

๋ฐฐ์—ด์ด๋ž€?

  • ๋ฐฐ์—ด์€ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๊ฐ’
    • ์ˆœ์„œ๋Š” ์ธ๋ฑ์Šค๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, 1์ด ์•„๋‹Œ 0๋ถ€ํ„ฐ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊น€
  • ๊ฐ’์€ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด ์ ‘๊ทผํ•œ๋‹ค.
    • myNumber๋ผ๋Š” ๋ฐฐ์—ด์˜ 3๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ์กฐํšŒํ•˜๋ ค๋ฉด,
      • myNumber[3] // 61
    • myNumber๋ผ๋Š” ๋ฐฐ์—ด์˜ 3๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด,
      • myNumber[3] = 200;
      • myNumber; // [73, 98, 86, 200, 96];

๋ฐฐ์—ด์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค

  • ๊ธธ์ด๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
    • myNumber.length; // 4

  • ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐฐ์—ด์˜ ๋ฐ˜๋ณต (Iteration of an array)

  • ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ์š”์†Œ(element)๋ฅผ ํ•œ๋ฒˆ์”ฉ ์ถœ๋ ฅํ•ด๋ณด์ž.
for (let i = 0; i < myNumber.length; i++) {
  console.log(myNumber[i]);
}

๋ฐฐ์—ด์ธ์ง€ ํ™•์ธํ•˜๊ธฐ

  • ๋ฐฐ์—ด์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Array.isArray()๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
    • not typeof

๋ฐฐ์—ด์— element ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ

  • push()๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • console.table์„ ํ†ตํ•ด ๋ฐฐ์—ด์„ ํ•œ ๋ˆˆ์— ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๋ฐฐ์—ด์— push(6)์„ ํ•ด์„œ ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์— 6์ด ์ถ”๊ฐ€๋œ ๋ชจ์Šต์ด๋‹ค.

  • pop()์„ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์— ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐฐ์—ด์— pop()์„ ํ•ด์„œ ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์—์„œ 6์ด ์‚ญ์ œ๋œ ๋ชจ์Šต์ด๋‹ค.

  • shift()๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ๋งจ ์•ž์— ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐฐ์—ด์— shift()๋ฅผ ํ•ด์„œ ๋ฐฐ์—ด์˜ ๋งจ ์•ž์—์„œ 1์ด ์‚ญ์ œ๋œ ๋ชจ์Šต์ด๋‹ค.

  • unshift()๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์˜ ๋งจ ์•ž์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐฐ์—ด์— unshift()๋ฅผ ํ•ด์„œ ๋ฐฐ์—ด์˜ ๋งจ ์•ž์— 1์ด ์ถ”๊ฐ€๋œ ๋ชจ์Šต์ด๋‹ค.
    • unshift()๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋ฐฐ์—ด ์š”์†Œ ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ

  • indexOf()๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด ์•ˆ์— ํ•ด๋‹น ์š”์†Œ์˜ ์ธ๋ฑ์Šค๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
    • indexOf()๋Š” ํ•ด๋‹น ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด์˜ ์–ด๋Š ์œ„์น˜์— ์žˆ๋Š”์ง€ ๊ทธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ๋งŒ์•ฝ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ๋‹น์—ฐํžˆ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.

  • includes()๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด ์•ˆ์— ํ•ด๋‹น ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • includes()๋Š” ํ•ด๋‹น ์š”์†Œ๊ฐ€ ๋ฐฐ์—ด ์•ˆ์— ์žˆ์œผ๋ฉด true, ์—†์œผ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • ๋‹จ, ํ˜ธํ™˜์„ฑ ์ธก๋ฉด์—์„œ indexOf()๋Š” ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค ์ง€์›์ด ๋˜์ง€๋งŒ includes()๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

๋ฐฐ์šฐ๋Š” ๋‹จ๊ณ„๋ผ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋‚ด์šฉ์€ ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์‹œ๋ฉด ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)

profile
๐ŸŒป

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด