[JavaScript] λ°°μ΄ λ©μλ slice() vs splice() μ°¨μ΄μ
π‘ slice() λ°°μ΄ λ©μλ
slice() λ©μλλ λ°°μ΄μ 볡μ¬λ³Έμ λ§λ€κ±°λ λ°°μ΄μ μΌλΆλ₯Ό λ°ννλ λ° μ¬μ©ν μ μλ€.
slice() λ©μλλ μλ λ°°μ΄μ λ³κ²½νμ§ μκ³ λμ μμ 볡μ¬λ³Έμ μμ±νλ€λ μ μ μ μν΄μΌ νλ€.
κΈ°λ³Έ ꡬ문μ λ€μκ³Ό κ°λ€.
slice(optional start parameter, optional end parameter)
μ΄ μμμμλ κ³ΌμΌ λͺ©λ‘μ λ§λ€μλ€.
const fruits = ['apple', 'banana', 'mango', 'melon'];
slice() λ©μλλ₯Ό 맀κ°λ³μ μμ΄ μ¬μ©νλ λ°©λ² β
slice() λ©μλλ₯Ό νμ©ν΄ ν΄λΉ λ°°μ΄μ μμ 볡μ¬λ³Έμ λ§λ€ μ μλ€.
console.log(fruits.slice()); // ['apple', 'banana', 'mango', 'melon']
start 맀κ°λ³μλ₯Ό μ¬μ©ν΄μ slice() λ©μλλ₯Ό μ¬μ©νλ λ°©λ² β
μ΅μ μΌλ‘ μ€ μ μλ start 맀κ°λ³μλ₯Ό μ¬μ©ν΄μ λ°°μ΄μμ μμλ₯Ό μ ννκΈ° μν μμ μμΉλ₯Ό μ€μ ν μ μλ€.
μ΄ μμμμλ index 2λ₯Ό μμ μμΉλ‘ μ€μ ν΄μ index 2λΆν° λ§μ§λ§ indexκΉμ§ μ νν΄μ μ λ°°μ΄λ‘ λ°ννλ€.
const newFruits = fruits.slice(2);
console.log(newFruits); // ['mango', 'melon']
μλ λ°°μ΄μ μμ λμ§ μλ κ²μ λ³Ό μ μλ€.
const fruits = ['apple', 'banana', 'mango', 'melon'];
const newFruits = fruits.slice(2);
console.log('μλ κ³ΌμΌ: ', fruits); // μλ κ³ΌμΌ: ['apple', 'banana', 'mango', 'melon']
console.log('μλ‘μ΄ κ³ΌμΌ: ', newFruits); // μλ‘μ΄ κ³ΌμΌ: ['mango', 'melon']
λ°°μ΄ λμμ λΆν° μ ννκ³ μΆλ€λ©΄ μμ indexλ₯Ό μ¬μ©ν μλ μλ€.
const newFruits = fruits.slice(-1);
console.log(newFruits); // ['melon']
start 맀κ°λ³μκ° λ°°μ΄μ λ§μ§λ§ index λ³΄λ€ ν¬λ©΄ λΉ λ°°μ΄μ΄ λ°νλλ€.
const newFruits = fruits.slice(4);
console.log(newFruits); // []
slice() λ©μλλ₯Ό μ¬μ©νλ λ°©λ² β
startμ end 맀κ°λ³μλ₯Ό μ¬μ©νμ¬end μμΉκ° μ§μ λ κ²½μ° slice() λ©μλλ start μμΉμμ end μμΉκΉμ§ μμλ₯Ό μΆμΆνλ€.
end μμΉλ μλ‘μ΄ λ°°μ΄μ μΆμΆλ μμμ ν¬ν¨λμ§ μλλ€.
const fruits = ['apple', 'banana', 'mango', 'melon'];
const newFruits = fruits.slice(1, 3);
console.log(newFruits); // ['banana', 'mango'];
splice() λ°°μ΄ λ©μλ
π‘slice() λ©μλμ λ¬λ¦¬ splice() λ©μλλ μλ λ°°μ΄μ λ΄μ©μ λ³κ²½νλ€.
splice() λ©μλλ κΈ°μ‘΄ λ°°μ΄μ μμλ₯Ό μΆκ°νκ±°λ μ κ±°νλ λ° μ¬μ©λλ©° λ°ν κ°μ λ°°μ΄μμ μ κ±°λ νλͺ©μ΄ λ°νλλ€.
splice() λ©μλμ κΈ°λ³Έ ꡬ문μ λ€μκ³Ό κ°λ€.
splice(start, optional delete count, optional items to add)
μ΄ μμμλ μμΌ νλͺ©μ λ°°μ΄μ΄ μλ€.
const week = ['Mon', 'Tue', 'Wen', 'Thu', 'Fri'];
splice() λ©μλ μ¬μ©ν΄μ μμλ₯Ό μΆκ°νλ λ°©λ² β
λ°°μ΄μ index 1μ λ€λ₯Έ μμΌμ μΆκ°νλ €λ©΄ λ€μκ³Ό κ°μ΄ ν μ μλ€.
week.splice(1, 0, 'Sat');
첫 λ²μ§Έ μ«μλ μμ indexκ³ , λ λ²μ§Έ μ«μλ μμ νμλ€.
μ무 νλͺ©λ μμ νμ§ μμΌλ―λ‘ μμ νμλ 0μ΄λ€.
const week = ['Mon', 'Tue', 'Wen', 'Thu', 'Fri'];
week.splice(1, 0, 'Sat');
console.log(week); // ['Mon', 'Sat', 'Tue', 'Wen', 'Thu', 'Fri'];
splice() λ©μλλ₯Ό μ¬μ©ν΄μ μμλ₯Ό μ κ±°νλ λ°©λ² β
μ΄ μμμμλ λ°°μ΄μμ "Wen"μ μ κ±°νλ €κ³ νλ€. start λ° delete 맀κ°λ³μλ₯Ό μ¬μ©ν΄μ μ κ±°ν μ μλ€.
week.splice(2, 1);
μ«μ 2λ μμ μμΉμ΄κ³ , μ«μ 1μ μμ νμλ₯Ό λνλΈλ€. "Wen"μ index 2μ μμΉν΄ μμΌλ―λ‘ λ°°μ΄μμ μ κ±°λλ€.
const week = ['Mon', 'Tue', 'Wen', 'Thu', 'Fri'];
week.splice(2, 1);
console.log(week); // ['Mon', 'Tue', 'Thu', 'Fri'];
κ²°λ‘
πslice()μsplice() λ©μλλ μλ‘ λΉμ·ν΄ λ³΄μΌ μ μμ§λ§ λͺ κ°μ§ μ£Όμ μ°¨μ΄μ μ΄ μλ€.
slice() λ©μλλ λ°°μ΄μ 볡μ¬λ³Έμ λ§λ€κ±°λ λ°°μ΄μ μΌλΆλ₯Ό λ°ννλ λ° μ¬μ©ν μ μκ³ , μλ λ°°μ΄μ λ³κ²½νμ§ μκ³ λμ , μμ 볡μ¬λ³Έμ μμ±νλ€.
splice() λ©μλλ μλ λ°°μ΄μ λ΄μ©μ λ³κ²½νκ³ , κΈ°μ‘΄ λ°°μ΄μ μμλ₯Ό μΆκ°νκ±°λ μ κ±°νλ λ° μ¬μ©λλ©° λ°ν κ°μ λ°°μ΄μμ μ κ±°λ νλͺ©μ΄ λλ€.
λ°°μ΄μμ μ무κ²λ μ κ±°λμ§ μμ κ²½μ° λ°ν κ°μ λΉ λ°°μ΄μ΄λ€.
μ°Έκ³