๐Ÿ“Œ javascript ๊ฐœ๋… #12 split / slice / concat

doyeonleeยท2022๋…„ 4์›” 4์ผ
0

js / html / css

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

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, ...)
profile
๋Š๋ ค๋„ ์ฒœ์ฒœํžˆ ๊ผผ๊ผผํ•˜๊ฒŒ !

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