๐ splice()
- ๋ฐฐ์ด ๋ด์ ์๋ก์ด ์์์ ์ถ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋ฐฐ์ด ๋ด ํน์ ์์๋ฅผ ์ ๊ฑฐ ํ ์ ์๋ค.
- ์๋ณธ ๋ฐฐ์ด์ด ๋ณ๊ฒฝ๋๋ค.
[์ฌ์ฉ๋ฒ]
๋ฐฐ์ด.splice(์์๋ฅผ ์์น์ํค๊ณ ์ ํ๋ ์ธ๋ฑ์ค, ์ ๊ฑฐํ ์์์ ๊ฐ์, ๋ฐฐ์ด์ ์ถ๊ฐํ ์์) |
๋ง์ฝ ๋ฐฐ์ด ๋ด ์๋ก์ด ์์๋ฅผ ์ถ๊ฐ๋ง ํ๊ณ ์ถ๋ค๋ฉด 2๋ฒ์งธ ์ธ๋ฑ์ค์ 0์ ์ฌ์ฉํ๋ฉด ๋๋ค.
const cafe = ['coffee', 'cake', 'tea', 'cookie']
cafe.splice(1, 0, 'bread')
cafe
//1๋ฒ์งธ ์ธ๋ฑ์ค์ bread๋ฅผ ์ถ๊ฐํ cafe ๋ฐฐ์ด
//expected output: ['coffee', 'bread', 'cake', 'tea', 'cookie']
ํน์ ์์๋ฅผ ์ญ์ ํ๊ณ ์ถ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ฉด ๋๋ค.
๋ฐฐ์ด.splice(์์๋ฅผ ์์น์ํค๊ณ ์ ํ๋ ์ธ๋ฑ์ค, ์ ๊ฑฐํ ์์์ ๊ฐ์) |
const cafe = ['coffee', 'cake', 'tea', 'cookie']
cafe.splice(1, 2)
cafe
//1๋ฒ์งธ ์ธ๋ฑ์ค๋ถํฐ 2๊ฐ๋ฅผ ์ญ์ ํ๋ค. ์ฆ cake๊ณผ tea๊ฐ ์ญ์ ๋๋ค.
//expected output: ['coffee', 'cookie']
๐ slice()
- ๋ฐฐ์ด ์ผ๋ถ๋ถ์ ์๋ผ์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ค.
- ์๋ณธ์ ๋ณ๊ฒฝํ์ง ์๊ณ ์๋ณธ ๋ฐฐ์ด ์์์ ์์ ๋ณต์ฌ๋ฅผ ๋ฐํํ๋ค.
๋ฐฐ์ด.slice(์๋ผ๋ผ ๋ฐฐ์ด์ ์์์ธ๋ฑ์ค, ์๋ผ๋ผ๋ฐฐ์ด์ ์ข ๋ฃ์ธ๋ฑ์ค) |
* ์ฃผ์ : ์ข ๋ฃ์ธ๋ฑ์ค-1 ๊น์ง ์๋ผ๋ธ๋ค. ์ฆ, ์ข ๋ฃ์ธ๋ฑ์ค ๋ถ๋ถ์ ๊ฐ์ ์๋ผ๋ผ ๋ฐฐ์ด์ ํฌํจ๋์ง ์๋๋ค.
const cafe = ['coffee', 'cake', 'tea', 'cookie']
cafe.slice(1, 3);
//1๋ฒ์งธ์ธ๋ฑ์ค๋ถํฐ 2๋ฒ์งธ์ธ๋ฑ์ค๊น์ง ์๋ผ์ ๋ฐํํ๋ค.
//expected output: ['cake', 'tea']
cafe.slice(2);
//2๋ฒ์งธ์ธ๋ฑ์ค๋ถํฐ ๋๊น์ง ์๋ผ์ ๋ฐํํ๋ค. (์ข
๋ฃ์ธ๋ฑ์ค ์๋ต์ ๋๊น์ง ๋ฐํ)
//expected output: ['tea', 'cookie']
cafe.slice(-2, -1);
//๋งจ์ค๋ฅธ์ชฝ๋ถํฐ-1์ด๋ผ ์๊ฐํ๋ฉด ๋๋ค. -2: tea , -1 : cookie์ด๋ค.
//ํ์ง๋ง ์ข
๋ฃ์ธ๋ฑ์ค๋ ํฌํจํ์ง ์์ผ๋ฏ๋ก tea๋ง ์ถ๋ ฅํ๋ค.
//expected output: ['tea']
cafe.slice(0, -2);
//0๋ฒ์งธ์ธ๋ฑ์ค๋ถํฐ -2๋ฒ์งธ์ธ๋ฑ์ค ์ ๊น์ง ์๋ผ์ ๋ฐํํ๋ค.
//expected output: ['coffee', 'cake']
* ์ฃผ์ : ์์ ๋ณต์ฌ์ ๋ฐฐ์ด์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๋ณ์์ ์ ์ฅํด๋์์ผํ๋ค.
[์์] |
์๋ณธ ๋ฐฐ์ด์ ๋ณํจ์ด ์๋ค๋๊ฒ์ ์ ์ ์๋ค.
โ โ๊ทธ๋ ๋ค๋ฉด splice()์ slice()์ ์ฐจ์ด์ ์ โ โ
splice()๋ ์๋ณธ๋ฐฐ์ด์ ๋ณ๊ฒฝํ๊ณ ๊ฐ์ ์ถ๊ฐํ ์๋ ์์ง๋ง,
slice()๋ ์๋ณธ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ฐฐ์ด ์ผ๋ถ๋ถ์ ์๋ผ๋ผ์๋ง ์๋ค.
'FE > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] for of ๊ณผ for in (0) | 2022.05.11 |
---|---|
[JS] ๋ฐฐ์ด์ ๋ฉ์๋ - find , filter ,map (0) | 2022.05.11 |
[JS] String , Boolean , Object? (0) | 2022.05.02 |
[JS] ์์์๋ฃํ๊ณผ ์ฐธ์กฐ์๋ฃํ (0) | 2022.04.28 |
[JS] ๋ณ์์ ํธ์ด์คํ (0) | 2022.02.13 |