splice ์ slice ์ฐจ์ด =>
splice๋ ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ๊ณ , slice๋ ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๋๋ค.
- ๋ฐฐ์ด์ ์ค๊ฐ์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ๊ธฐ .splice(_, _, _)
push, pop, unshift, shift ๋งค์๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ ์๋ณธ ๋ฐฐ์ด์ ์ง์ ๋ณ๊ฒฝํ๋ ๋งค์๋์ด๋ค.
๋งค๊ฐ๋ณ์๋ 3๊ฐ ๊ฐ๋๋ค.
โ๏ธ start: ์๋ณธ ๋ฐฐ์ด์ ์์๋ฅผ ์ ๊ฑฐํ๊ธฐ ์์ํ ์ธ๋ฑ์ค. start๋ง ์ง์ ํ๋ฉด ์๋ณธ ๋ฐฐ์ด์ start๋ถํฐ ๋ชจ๋ ์์๋ฅผ ์ ๊ฑฐํ๋ค.
์์์ธ ๊ฒฝ์ฐ, ๋ฐฐ์ด์ ๋์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ธ๋ค. (-1: ๋ง์ง๋ง ์์, -n: ๋ง์ง๋ง์์ n๋ฒ์งธ ์์) ํ์๋งค๊ฐ๋ณ์
โ๏ธ deleteCount: ์ ๊ฑฐํ ์์์ ๊ฐ์, 0์ธ๊ฒฝ์ฐ ์ ๊ฑฐ๋์ง ์๋๋ค. ์ต์ ๋งค๊ฐ๋ณ์
โ๏ธ items: ์ ๊ฑฐํ ์์น์ ์ฝ์ ํ ์์. ์ต์ ๋งค๊ฐ๋ณ์
const arr = [1,2,3,4];
const result = arr.splice(1,2,20,30);
// ์๋ณธ ๋ฐฐ์ด์ ์ธ๋ฑ์ค 1๋ถํฐ 2๊ฐ์ ์์๋ฅผ ์ ๊ฑฐํ๊ณ ๊ทธ ์๋ฆฌ์ ์๋ก์ด ์์ 20๊ณผ 30์ ์ฝ์
ํ๋ค.
console.log(result); // [2,3] // ์ ๊ฑฐํ ์์
console.log(arr); // [1,20,30,4] // ์ํ splice ๋งค์๋๋ ์๋ณธ ๋ฐฐ์ด์ ์ง์ ๋ณ๊ฒฝํ๋ค!
- ์ธ์๋ก ์ ๋ฌ๋ ๋ฒ์์ ์์๋ค์ ๋ณต์ฌํด์ ๋ฐฐ์ด๋ก ๋ฐํํ๊ธฐ .slice(_, _)
slice๋ ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๋๋ค.
๋งค๊ฐ๋ณ์๋ 2๊ฐ ๊ฐ๋๋ค.
โ๏ธ start: ๋ณต์ฌ๋ฅผ ์์ํ ์ธ๋ฑ์ค. ์์์ธ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋์์์ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ธ๋ค. (-2: ๋ฐฐ์ด์ ๋ง์ง๋ง ๋ ๊ฐ ์์ ๋ณต์ฌํด์ ๋ฐฐ์ด๋ก ๋ฐํ)
โ๏ธ end: ๋ณต์ฌ๋ฅผ ์ข ๋ฃํ ์ธ๋ฑ์ค. ์ด ์ธ๋ฑ์ค๋ ๋ณต์ฌ ์๋๊ณ , ๋ฐ๋ก ์๊น์ง ๋ณต์ฌ๋๋ค. ์๋ต์ ๋๊น์ง ์ต์ ๋งค๊ฐ๋ณ์
const arr = [1,2,3];
arr.slice(1,2); // [2] // arr[1]๋ถํฐ arr[2]๋ฏธ๋ง๊น์ง ๋ณต์ฌํด์ ๋ฐํ
console.log(arr); // [1,2,3] // ์๋ณธ ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๋๋ค.