β³ 27.1 λ°°μ΄μ΄λ?
μ¬λ¬ κ°μ μμ°¨μ μΌλ‘ λμ΄ν μλ£κ΅¬μ‘°.
μμ: λ°°μ΄μ΄ κ°κ³ μλ κ°
μΈλ±μ€: μμμ μμ 0λΆν° μμ
length : λ°°μ΄μ κΈΈμ΄
JS μ λ°°μ΄μ΄ν νμ μ μ‘΄μ¬νμ§ μμ.
λ°°μ΄μ κ°μ²΄ νμ μ.
κ°μ²΄μ λ°°μ΄μ μ°¨μ΄
β³ 27.2 μλ°μ€ν¬λ¦½νΈ λ°°μ΄μ λ°°μ΄μ΄ μλλ€
ποΈβοΈ μΌλ°μ μΈ μλ£κ΅¬μ‘°μμμ λ°°μ΄κ³Όλ μλ―Έκ° λ€λ₯Έ JS μμμ λ°°μ΄
- λ°°μ΄μ μμλ₯Ό μν κ°κ°μ λ©λͺ¨λ¦¬ 곡κ°μ λμΌν ν¬κΈ°λ₯Ό κ°μ§ μμλ λ¨.
- ν¬μ λ°°μ΄ : λ°°μ΄μ μμκ° μ°μμΌλ‘ μ΄μ΄μ Έ μμ§ μμ (<-> λ°μ§ λ°°μ΄)
- λ°°μ΄μ λμμ νλ΄ λΈ νΉμν κ°μ²΄μ.
ποΈβοΈ μΌλ° λ°°μ΄ vs μλ°μ€ν¬λ¦½νΈ λ°°μ΄ μ₯λ¨μ μ 리
μΌλ° λ°°μ΄ | JS λ°°μ΄ |
- μΈλ±μ€λ‘ μμμ λΉ λ₯΄κ² μ κ·Όν μ μλ€. - νμ§λ§ μμλ₯Ό μ½μ , μμ νλ κ²½μ°μ ν¨μ¨μ± λ¨μ΄μ§. |
- ν΄μ ν
μ΄λΈλ‘ ꡬνλ κ°μ²΄ => μΈλ±μ€μ μμλ‘ μ κ·Όνλ κ²½μ° μΌλ°μ μΈ λ°°μ΄λ³΄λ€ μ±λ₯ λ©΄μμ λ릴 μ λ°μ μλ€. - μμλ₯Ό μ½μ , μμ νλ κ²½μ°λ λΉ λ₯Έ μ±λ₯ |
μΈλ±μ€λ‘ λ°°μ΄ μμμ μ κ·Ό μ λλ¦° μ μ 보μνκΈ° μν΄
λλΆλΆμ JS μμ§μ λ°°μ΄μ μΌλ° κ°μ²΄μ κ΅¬λ³ & μ΅μ ν ꡬν
-> μΌλ° κ°μ²΄λ³΄λ€ μ½ 2λ°° λΉ λ¦.
μ€
time , timeEnd λ©μλλ₯Ό μ΄μ©ν΄ 걸리λ μκ°μ μΈ‘μ ν μ μκ΅°
β³ 27.3 length νλ‘νΌν°μ ν¬μ λ°°μ΄
λ°°μ΄μ κΈΈμ΄λ₯Ό λ°νμΌλ‘ κ²°μ λμ§λ§,
μμλ‘ μ«μ κ°μ λͺ μμ μΌλ‘ ν λΉν μλ μλ€.
μ€μ λ°°μ΄ κΈΈμ΄λ³΄λ€ μμ μ«μ ν λΉ -> κΈΈμ΄ μ€μ΄λ¦
μ€μ λ°°μ΄ κΈΈμ΄λ³΄λ€ ν° μ«μ ν λΉ -> λ³ν μμ. κ°μ΄ μ‘΄μ¬ νμ§ μκΈ°μ λ©λͺ¨λ¦¬ ν λΉμ νμ§ μμ.
ν¬μ λ°°μ΄
- μμκ° μ°μμ μΌλ‘ μμΉνμ§ μκ³ μΌλΆκ° λΉμ΄μλ λ°°μ΄.
- JS μμ λ¬Έλ²μ μΌλ‘ νμ©ν¨.
- μ€κ°, μλΆλΆμ΄ λΉμ΄μμ μ μμ.
- ν¬μ λ°°μ΄μ length λ ν¬μ λ°°μ΄μ μ€μ μμ κ°μλ³΄λ€ μΈμ λ ν¬λ€.
const arr = [1, , 3];
β³ 27.4 λ°°μ΄ μμ±
27.4.1 λ°°μ΄ λ¦¬ν°λ΄
const arr = [1, 2, 3];
27.4.2 Array μμ±μ ν¨μ
const arr = new Array(10);
λΉμ리 10κ° μμ±
μ±μ°κΈ° μ κΉμ§ ν¬μλ°°μ΄
27.4.3 Array.of
μ λ¬λ μΈμλ₯Ό μμλ‘ κ°λ λ°°μ΄ μμ±
Array.of(1, 2, 3); // [1, 2, 3]
27.4.3 Array.from
μ μ¬ λ°°μ΄ κ°μ²΄ λλ μ΄ν°λ¬λΈ κ°μ²΄λ₯Ό μΈμλ‘ μ λ¬ λ°μ λ°°μ΄λ‘ λ°ν
Array.from({length: 2, 0: 'a', 1: 'b'}); // ['a', 'b']
β³ 27.5 λ°°μ΄ μμμ μ°Έμ‘°
arr[index]
β³ 27.6 λ°°μ΄ μμμ μΆκ°μ κ°±μ
[] μμ μ μ μ΄μΈμ κ°μ μ¬μ©νλ©΄ -> μμ μμ±μ΄ μλλΌ νλ‘νΌν°κ° μμ±λ¨.
const arr = [];
arr[0]=1;
arr['1'] = 2;
//[1, 2]
arr['hello'] = 3;
arr.bar = 4;
arr[1.1] = 5;
arr[-1] = 6;
//[1, 2, hello:3, bar:4, '1.1': 5, '-1': 6]
β³ 27.7 λ°°μ΄ μμμ μμ
delete μ°μ°μ μ¬μ©
β³ 27.8 λ°°μ΄ λ©μλ
μλ³Έ λ°°μ΄ μ§μ λ³κ²½ mutator method
μλ³Έ λ°°μ΄ λ³κ²½ μνκ³ μλ‘μ΄ λ°°μ΄ μμ± accessor method
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Array
λ©μλ 리μ€νΈ μ°Έμ‘°
27.8.7 Array.prototype.concat()
concat() λ©μλλ μΈμλ‘ μ£Όμ΄μ§ λ°°μ΄μ΄λ κ°λ€μ κΈ°μ‘΄ λ°°μ΄μ ν©μ³μ μ λ°°μ΄μ λ°νν©λλ€.
- κΈ°μ‘΄λ°°μ΄μ λ³κ²½νμ§ μμ΅λλ€.
- μΆκ°λ μλ‘μ΄ λ°°μ΄μ λ°νν©λλ€.
push μ unshift μ λ€λ₯Έ μ
- μλ€λ μλ³Έ λ°°μ΄ λ³κ²½, concat μ μλ³Έ λ°°μ΄μ λ³κ²½νμ§ μκ³ μλ‘μ΄ λ°°μ΄ λ°ν.
- push, unshift μ¬μ©μ μλ³Έ λ°°μ΄μ λ°λ‘ μ μ₯ν΄λ¬μΌν¨.
- λ°°μ΄λ‘ μΈμλ₯Ό μ λ¬ λ°μ κ²½μ°, push μ unshift λ λ°°μ΄μ κ·Έλλ‘ μμλ‘ μΆκ°ν¨.
- concat μ μ λ¬λ°μ λ°°μ΄μ ν΄μ²΄, μλ‘μ΄ λ°°μ΄μ μμλ‘ μΆκ°ν¨.
27.8.8 Array.prototype.splice()
- μ€κ° κ° μ κ±°νκ³ μΆκ°ν λ μ μ©ν¨.
27.8.9 Array.prototype.slice()
볡μ¬. μ λ¬λ λ²μμ μμλ₯Ό λ³΅μ¬ -> λ°°μ΄λ‘ λ°ν. μλ³Έ λ°°μ΄μ λ³κ²½λμ§ μμ.
(μμ 볡μ¬μ)
27.8.14 Array.prototype.flat()
flat() λ©μλλ λͺ¨λ νμ λ°°μ΄ μμλ₯Ό μ§μ ν κΉμ΄κΉμ§ μ¬κ·μ μΌλ‘ μ΄μ΄λΆμΈ μλ‘μ΄ λ°°μ΄μ μμ±ν©λλ€.
const arr1 = [1, 2, [3, 4]];
arr1.flat();
// [1, 2, 3, 4]
μ€..
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
β³ 27.9 λ°°μ΄ κ³ μ°¨ ν¨μ
κ³ μ°¨ ν¨μ : ν¨μλ₯Ό μΈμλ‘ λ°κ±°λ ν¨μλ₯Ό λ°ννλ ν¨μ.
ν¬μ λ°°μ΄μ κ²½μ° μ‘΄μ¬νμ§ μλ μμλ μν λμμμ μ μΈλ¨.
27.9.10 Array.prototype.flatMap()
flat + map => map λ©μλλ₯Ό ν΅ν΄ μμ±λ μλ‘μ΄ λ°°μ΄μ ννν.
ννν κΉμ΄λ₯Ό μ§μ ν μ μκ³ 1λ¨κ³λ§ κ°λ₯.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap
'λ μ λͺ©λ‘ > λͺ¨λ₯λ€ Modern JS Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λͺ¨λ₯λ€] 31μ₯ RegExp (0) | 2023.05.27 |
---|---|
[λͺ¨λ₯λ€] 28μ₯ Number (0) | 2023.05.23 |
[λͺ¨λ₯λ€] 26μ₯ ES6 ν¨μμ μΆκ° κΈ°λ₯ (0) | 2023.05.21 |
[λͺ¨λ₯λ€] 25μ₯ ν΄λμ€ (1) (0) | 2023.05.18 |
[λͺ¨λ₯λ€] 24μ₯ ν΄λ‘μ (0) | 2023.05.16 |