๐ javascript ๊ฐ๋ #12 split / slice / concat
splice : ๋ฐฐ์ด ์ถ๊ฐ / ์ญ์
splice( )
๋ฌธ์๋ฅผ ์ญ์ ํ ํ ์ถ๊ฐ ํ ์ ์๋ค.
์์ ์ฝ๋
let fruits = ["apple", "orange", "grape"];
let retr;
// ๋ฐฐ์ด ์ถ๊ฐ / ์ญ์ : LIFO (= Last In First Out) = front
retr = fruits.splice(1);
console.log(retr); // [ 'orange', 'grape' ]
// ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ index ์ดํ์ ๊ฐ์ ์๋ผ์ return ํ๋๊ฒ
console.log(fruits); // [ 'apple' ]
fruits = ["apple", "orange", "melon", "strawberry"];
console.log(fruits.splice(1, 1));
// [ 'orange' ] -> ์ค๋ ์ง๊ฐ ๋น ์ง
console.log(fruits);
// ์ฌ๊ณผ, ๋ฉ๋ก , ๋ธ๊ธฐ๋ง ๋ณด์
console.log(fruits.splice(1, 1, "mango", "kiwi"));
// [ 'melon' ] -> ๋ฉ๋ก ์ด ๋น ์ง
console.log(fruits);
// [ 'apple', 'mango', 'kiwi', 'strawberry' ]
// -> ๋ฉ๋ก ์ด ๋น ์ง ์๋ฆฌ์ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ
splice ( start, end, add index )
= ์์์ธ๋ฑ์ค๋ถํฐ ๋๋๋ ์ธ๋ฑ์ค๊น์ง ์ง์์ค ๋ฒ์๋ฅผ ์ค์ ํ๋ค, ์ถ๊ฐํ ์ธ๋ฑ์ค๋ฅผ ์ ์ด์ค๋ค.
---> ์๋ฅผ ๋ค์ด,
fruits = ["apple", "orange", "melon", "strawberry"];
console.log(fruits.splice(1, 1, "mango", "kiwi"));
์์๋ ์ธ๋ฑ์ค 1๋ถํฐ ์ธ๋ฑ์ค 1๊น์ง (= orange) ์ง์์ค ๋ฒ์๋ก ์ค์ ํ ๋ค, ๊ทธ ์๋ฆฌ์ ๋ง๊ณ ๊ณผ ํค์๋ฅผ ์ฝ์ ํ๋ ๊ฒ์ด๋ค.
slice : ๋ฐฐ์ด ์ญ์
slice( )
์๋ณธ ๊ฐ์ฒด์ ์ํฅ์ ๋ฏธ์น์ง ์์ผ๋ฉฐ, ๋ฐฐ์ด ์์๋ฅผ ์ญ์ ํ๋๋ฐ ์ฐ์ธ๋ค.
์์ ์ฝ๋
// ๋ฐฐ์ด ์ญ์ (index) : ๋ฐฐ์ด์์ ์ญ์
// => ์๋ณธ ๊ฐ์ฒด์ ์ํฅ์ ๋ฏธ์น์ง ์์ (slice)
let fruits = ["apple", "orange", "melon"];
console.log(fruits.slice(1));
// [ 'orange', 'melon' ]
console.log(fruits);
// [ 'apple', 'orange', 'melon' ] ๋ค ์์ (์๋ณธ๋ฐ์ดํฐ)
console.log(fruits.slice(1, 2));
// [ 'orange' ]
// slice๋ String๊ณผ ๋์ผํ๊ฒ index์ด๋ค.
// ๋ฐ๋ผ์, end point๋ฅผ ๋๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ก ๋ฃ์ด์ผ ํ๋ค
console.log(fruits.slice(-2));
// [ 'orange', 'melon' ]
// ์๋ฃํ๊ณผ ๋์ผํ๊ฒ ์์๋ก๋ ๋ฃ์ด์ค ์ ์๋ค.
// ==> slice์ ๋ฐฉ์์ String๊ณผ ๋์ผํ๋ค.
--> ๊ธฐ๋ณธํํ๋ ์๋์ ๊ฐ๋ค.
Array.slice([start], [end])
concat : ๋ฐฐ์ด ๋ณํฉ
concat( )
๋ฐฐ์ด์ ๋ณํฉํ ์ ์๋ค. -> ๋ค์ค ๋ฐฐ์ด ๋ณํฉ
์๋ณธ ๊ฐ์ฒด์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
์์ ์ฝ๋
// ๋ฐฐ์ด ๋ณํฉ
// => concat์ ํตํด ์์ฝ๊ฒ ์ถ๊ฐ ๊ฐ๋ฅํ๋ค.
let fruits = ["apple", "orange", "melon"];
let fruits_add = ["cherry", "banana"];
console.log(fruits.concat(fruits_add));
// [ 'apple', 'orange', 'melon', 'cherry', 'banana' ]
console.log(fruits);
// [ 'apple', 'orange', 'melon' ]
// ์๋ณธ๋ฐ์ดํฐ ๊ทธ๋๋ก ๋์จ๋ค.
--> ๊ธฐ๋ณธํํ๋ ์๋์ ๊ฐ๋ค.
Array.concat(arg1, arg2, ...)
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ javascript ๊ฐ๋ #12 split / slice / concat), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@dlehdus97/javascript-๊ฐ๋ -11์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค