β¨ λ°°μ΄
- μμκ° μλ 컬λ μ μ μ μ₯ν λ μ°λ μλ£κ΅¬μ‘°
let arr = ['apple', 'banana', 'orange'];
- λ°°μ΄ μμμλ 0λΆν° μμνλ μ«μκ° λ§€κ²¨μ Έ μλ€.(μΈλ±μ€)
let arr = ['apple', 'banana', 'orange'];
// λ°°μ΄μ 첫λ²μ§Έ μμμ μΈλ±μ€λ 무쑰건 0λΆν°
console.log(arr[0]); // apple
console.log(arr[1]); // banana
console.log(arr[2]); // orange
- μλ‘μ΄ μμλ₯Ό λ°°μ΄μ μΆκ°νλ κ²λ κ°λ₯νλ€.
let arr = ['apple', 'banana', 'orange'];
arr[3] = 'lemon';
console.log(arr); // (4) ['apple', 'banana', 'orange', 'lemon']
- 'length' νλ‘νΌν°λ‘ λ°°μ΄μ κΈΈμ΄, μ¦ λ°°μ΄μ λ΄κΈ΄ μμκ° λͺ κ°μΈμ§ μμλΌ μλ μλ€.
let arr = ['apple', 'banana', 'orange'];
console.log(arr.length); // 3
πβοΈ 'length' νλ‘νΌν°?
- λ°°μ΄μ μ‘°μμ κ°νλ©΄ length νλ‘νΌν°κ° μλμΌλ‘ κ°±μ λλ€.
- λ°°μ΄ λ΄ μμμ κ°μκ° μλλΌ κ°μ₯ ν° μΈλ±μ€μ 1μ λν κ°
- length νλ‘νΌν°μ λ λ€λ₯Έ νΉμ§ μ€ νλλ μ°κΈ°κ° κ°λ₯νλ€
- κ°λ¨νκ² λ°°μ΄μ λΉμΈ λ μ¬μ©νλ€
let arr = ['a', 'b', 'c'];
arr.length = 0;
console.log(arr); // []
β μ΄λ κ² μ°μ§ λ§μλ€! β
- κ°μ μλμΌλ‘ μ¦κ°μν€λ©΄ μ무 μΌλ μΌμ΄λμ§ μμΌλ
, λ°λλ‘ κ°μμν€κ² λλ©΄ λ°°μ΄μ΄ μλ¦°λ€.(짧μμ§ λ°°μ΄μ λ€μ λλ릴 μ μ...π°)
π οΈ λ°°μ΄ μ‘°μνκΈ°
- μλ°μ€ν¬λ¦½νΈλ‘ νμ μ€ν λ λ€ λ§λ€ μ μλ€.
π ν, μ€ν?
π¨οΈ Queue, ν
- FIFO(First-In-First_Out), μ μ μ μΆ λ°©μμ μλ£κ΅¬μ‘°
- μ€μ μμ κΈ°λ€λ¦¬λ κ²μ μλ―Έ
- νμͺ½ λμμ μ½μ μμ , λ€λ₯Έ μͺ½ λμμ μμ μμ μ΄ μμͺ½μΌλ‘ μ΄λ£¨μ΄μ§λ€.
- μμ μ°μ°λ§ μνλλ κ³³μ front(νλ‘ νΈ), μ½μ μ°μ°λ§ μ΄λ£¨μ΄μ§λ κ³³μ rear(리μ΄)λ‘ μ νλ©° κ°κ°μ μ°μ° μμ λ§ μνλλ€.
- νμ 리μ΄μμ μ΄λ£¨μ΄μ§λ μ½μ μ°μ°μ enQueue, νλ‘ νΈμμ μ΄λ£¨μ΄μ§λ μμ μ°μ°μ dnQueue(λν)λΌκ³ λΆλ₯Έλ€.
- ex) μΊμ ꡬν, νλ¦°ν° μΈμ λκΈ°μ΄ λ±
π Stack, μ€ν
- LIFO(Last-In-First-Out), νμ μ μΆ λ°©μμ μλ£κ΅¬μ‘°
- μμμ¬λ¦°λ€λ κ²μ μλ―Έ
- μ ν΄μ§ λ°©ν₯μΌλ‘λ§ μμ μ μκ³ , μ ν κ³³μ ν΅ν΄μλ§ μ κ·Ό ν μ μλ€.
- μ½μ μ°μ°μ push, μμ μ°μ°μ popμ΄λΌκ³ νλ€.
- κ°μ₯ λ§μ§λ§μ μ½μ λ μλ£κ° κ°μ₯ λ¨Όμ μμ λλ€.
- λΉμ΄μλ μ€νμμ μμ μΆμΆνλ €κ³ ν λ stack underflow, μ€νμ΄ λμΉλ κ²½μ°λ stack overflow
- ex) μΉ λΈλΌμ°μ λ€λ‘κ°κΈ°, μ€ν μ·¨μ(undo)
μ°Έμ‘°λ§ν¬: https://devuna.tistory.com/22
1) push
- λ°°μ΄μ 맨 λμ μμλ₯Ό μΆκ°
- μμλ₯Ό λ°°μ΄ λμ μ§μ΄λ£λλ€.
let fruits = ['apple', 'orange', 'banana'];
console.log(fruits); // (3) ['apple', 'orange', 'banana']
console.log(fruits.push('lemon'));
console.log(fruits); // (4) ['apple', 'orange', 'banana', 'lemon']
2) pop
- λ°°μ΄ λ μμλ₯Ό μ κ±°νκ³ μ κ±°λ μμλ₯Ό νλ€.
let fruits = ['apple', 'orange', 'banana', 'lemon'];
console.log(fruits); // (4) ['apple', 'orange', 'banana', 'lemon']
console.log(fruits.pop()); // 'lemon'
console.log(fruits); // (3) ['apple', 'orange', 'banana']
3) shift
- λ°°μ΄ μ μμλ₯Ό μ κ±°νκ³ , μ κ±°ν μμλ₯Ό λ°νν©λλ€.
let fruits = ['apple', 'orange', 'banana', 'lemon'];
console.log(fruits); // (4) ['apple', 'orange', 'banana', 'lemon']
console.log(fruits.shift()); // apple
console.log(fruits); // (3) ['orange', 'banana', 'lemon']
4) unshift
- λ°°μ΄ μμ μμλ₯Ό μΆκ°ν©λλ€.
let fruits = ['apple', 'orange', 'banana', 'lemon'];
console.log(fruits); // (4) ['apple', 'orange', 'banana', 'lemon']
console.log(fruits.unshift('melon'));
console.log(fruits); // (5) ['melon', 'apple', 'orange', 'banana', 'lemon']