[JavaScript] slice()์™€ splice() ๐Ÿ“

Dodamยท2023๋…„ 10์›” 4์ผ
0

[JavaScript]

๋ชฉ๋ก ๋ณด๊ธฐ
3/10
post-thumbnail

slice()

๋ฐฐ์—ด์˜ ์ผ๋ถ€๋ถ„์„ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ฆ‰, ์›๋ณธ ๋ฐฐ์—ด์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

array.slice(start, end)

start : ์ถ”์ถœ์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ

  • undefined ์ธ ๊ฒฝ์šฐ : 0๋ถ€ํ„ฐ slice ํ•œ๋‹ค.
  • ์Œ์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
	ex) slice(-2)๋ฅผ ํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ 2๊ฐœ ์š”์†Œ๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
  • ๋ฐฐ์—ด์˜ ๊ธธ์ด์™€ ๊ฐ™๊ฑฐ๋‚˜ ํฐ ์ˆ˜๋ฅผ ์ง€์ •ํ•œ ๊ฒฝ์šฐ : ๋นˆ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

end : ์ถ”์ถœ์„ ์ข…๋ฃŒํ•  ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ

  • ์ข…๋ฃŒ ์ธ๋ฑ์Šค๋Š” ์ถ”์ถœ์— ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์ถ”์ถœ์€ end ๋ฒˆํ˜ธ ๋ฐ”๋กœ ์•ž์˜ ์ธ๋ฑ์Šค๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ์Œ์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ์ƒ๋žตํ•  ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ์ถ”์ถœํ•œ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’ : ์ถ”์ถœํ•œ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด


splice()

๋ฐฐ์—ด์˜ ๊ธฐ์กด ์š”์†Œ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ๊ต์ฒดํ•˜๊ฑฐ๋‚˜, ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋Š” ์›๋ณธ ๋ฐฐ์—ด ์ž์ฒด๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค.

array.splice(start, deleteCount, item1, item2, ...)

start : ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•  ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ

  • ์Œ์ˆ˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ๋์—์„œ๋ถ€ํ„ฐ ์—ญ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ํฐ ์ˆ˜๋ฅผ ์ง€์ •ํ•œ ๊ฒฝ์šฐ : ์‹ค์ œ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋กœ ์„ค์ •ํ•œ๋‹ค.

deleteCount : ์ œ๊ฑฐํ•  ์š”์†Œ์˜ ๊ฐœ์ˆ˜

  • ์ƒ๋žตํ•˜๋ฉด start ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋œ๋‹ค.

item1, item2, ... : ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•  ์š”์†Œ

  • ์ƒ๋žตํ•˜๋ฉด ์š”์†Œ ์ œ๊ฑฐ๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • item1, item2, item3... 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ์ถ”๊ฐ€๋œ๋‹ค.

๋ฐ˜ํ™˜๊ฐ’ : ์ œ๊ฑฐํ•œ ์š”์†Œ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด

  • ์•„๋ฌด ๊ฐ’๋„ ์ œ๊ฑฐํ•˜์ง€ ์•Š์•˜์œผ๋ฉด ๋นˆ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
profile
โฐ Good things take time

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