[JavaScript] λ°°μ΄ μΈλ±μ±μΌλ‘ νΉμ μμ μΆλ ₯/μ κ±°/μΆκ°νκΈ°(slice, splice ν¨μ)
π‘ λͺ©ν
JavaScriptμμ λ°°μ΄ μΈλ±μ±μ ν΅ν΄ μμλ₯Ό μΆλ ₯, μ κ±°, μΆκ°νλ λ°©λ²μ λν΄ νμ΅νλ€.
1. slice ν¨μ: νΉμ κ΅¬κ° μΈλ±μ€μ μμ λ°ν
ν¨μ μν
λ°°μ΄.slice(μμ μΈλ±μ€, λ μΈλ±μ€)
slice ν¨μλ νΉμ ꡬκ°μ μΈλ±μ€μ ν΄λΉνλ μμλ₯Ό λ°νν©λλ€.
2κ°μ μ μν λ§€κ°λ³μλ₯Ό μ λ¬νλλ° κ°κ° μμ μΈλ±μ€, λ μΈλ±μ€μ λλ€.
νΉν, λμ μΈλ±μ€λ ν¬ν¨νμ§ μκΈ° λλ¬Έμ,
μμλ₯Ό μΆμΆνλ ꡬκ°μ μνμ μΌλ‘ νννλ©΄ [μμμ , λμ )μ λλ€.
μμ μ½λ
let arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
let arrSlice = arr1.slice(2, 6); // [start, end) κ΅¬κ° μΈλ±μ±
console.log(arrSlice); // 3, 4, 5, 6
μμ μμ μμ μμμ μ 2μ΄κ³ λμ μ 6μ΄λ―λ‘ 2λ²μ§ΈλΆν° 5λ²μ§Έ μμλ₯Ό λ°νν©λλ€.
2. splice ν¨μ: νΉμ κ΅¬κ° μΈλ±μ€μ μμ μμ /μΆκ°
ν¨μ μν
λ°°μ΄.splice(μμ μΈλ±μ€, μμ ν λ°μ΄ν° κ°μ, μΆκ°ν μμ λμ΄)
splice ν¨μλ νΉμ μΈλ±μ€μμλΆν° μμνμ¬ μμ Nκ°λ₯Ό μμ νκ±°λ μ¬μ©μ μμλλ‘ μμλ₯Ό μΆκ°ν©λλ€.
μλ μμ μ½λλ₯Ό 보면 μ§κ΄μ μΌλ‘ ν¨μ μ¬μ©λ°©λ²μ μ΄ν΄νμ€ μ μμ΅λλ€.
μμ μ½λ 1
let arr2 = [1, 2, 3];
arr2.splice(1, 0, 4, 5); // μμ μΈλ±μ€: 1, μμ μμ κ°μ: 0, λ°μ΄ν° [4, 5] μΆκ°
console.log(arr2); // [1, 4, 5, 2, 3]
μμ μ½λ 2
let arr3 = [10, 20, 30, 40, 50];
arr3.splice(2, 2, 6, 7, 88, 99, 77); // μμ μΈλ±μ€: 2, μμ μμ κ°μ: 2, λ°μ΄ν° [6, 7, 88, 99, 77] μΆκ°
console.log(arr3); // [10, 20, 6, 7, 88, 99, 77, 50]
ν¬μ€ν λ΄μ©μ μ€λ₯κ° μλ€λ©΄ μλμ λκΈ λ¨κ²¨μ£ΌμΈμ!
κ·ΈλΌ μ€λλ μ¦κ²κ³ λ©μ§ λ§λμκΈΈ λ°λλλ€.
κ³ λ§μ΅λλ€ :-)