1. λ°°μ΄μ κ°λ κ³Ό μ μΈ λ°©λ²
λ°°μ΄(Array)μ μ¬λ¬ κ°μ κ°μ νλμ λ³μμ μ μ₯νκΈ° μν λ°μ΄ν° ꡬ쑰μ λλ€. λ°°μ΄μ μμκ° μλ 리μ€νΈ ννλ‘, κ° κ°μ μΈλ±μ€(index)λ₯Ό ν΅ν΄ μ κ·Όν μ μμ΅λλ€. μλ°μ€ν¬λ¦½νΈμμ λ°°μ΄μ κ°μ²΄ νμ μΌλ‘ κ°μ£Όλλ©°, λ°°μ΄μ ν¬κΈ°λ μμμ νμ μ 미리 μ§μ ν νμκ° μμ΅λλ€. λ°°μ΄μ λμ μΌλ‘ ν¬κΈ°κ° μ‘°μ λλ©°, μ΄λ€ νμ μ κ°μ΄λΌλ ν¬ν¨ν μ μμ΅λλ€.
λ°°μ΄μ μ μΈ λ°©λ²
μλ°μ€ν¬λ¦½νΈμμ λ°°μ΄μ μ μΈνλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
리ν°λ΄ νκΈ°λ²
const arr = [κ°1, κ°2, κ°3];
μμ μ½λλ
arr
μ΄λΌλ λ³μμ[κ°1, κ°2, κ°3]
μ΄λΌλ λ°°μ΄μ ν λΉνλ κ²μ λλ€.new ν€μλ
const arr = new Array(κ°1, κ°2, κ°3);
new
ν€μλλ₯Ό μ¬μ©νμ¬ λ°°μ΄ κ°μ²΄λ₯Ό μμ±νκ³ , κ°μ λ£μ΄μ λ°°μ΄μ μ΄κΈ°νν μλ μμ΅λλ€.λΉ λ°°μ΄
const arr = [];
λΉ λ°°μ΄μ μ μΈν μλ μμΌλ©°, μ΄νμ μμλ₯Ό μΆκ°νμ¬ λ°°μ΄μ μ±μΈ μ μμ΅λλ€.
Array μμ±μ ν¨μ
const arr = Array(κ°μκ°μ);
μμμ κ°μλ₯Ό λ£μ΄
Array
μμ±μ ν¨μλ₯Ό νΈμΆνμ¬ λΉ λ°°μ΄μ λ§λ€ μλ μμ΅λλ€.
μ΄λ κ² λ°°μ΄μ μ μΈνκ³ μ΄κΈ°ννλ€λ©΄, ν΄λΉ λ°°μ΄μ μ κ·Όνμ¬ κ°μ νμΈνκ±°λ μμ ν μ μμ΅λλ€. λ€μ νλͺ©μμ λ°°μ΄μ κ°μ μΆκ°, μμ , μμ νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
2. λ°°μ΄μ μμ μΆκ°, μμ , μμ
λ°°μ΄μ μμλ₯Ό μΆκ°, μμ , μμ νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
μμ μΆκ°
λ°°μ΄μ μμλ₯Ό μΆκ°ν λλ λ€μκ³Ό κ°μ λ°©λ²μ μ¬μ©ν μ μμ΅λλ€.
push λ©μλ: λ°°μ΄μ λμ νλ μ΄μμ μμλ₯Ό μΆκ°ν©λλ€.
const arr = [1, 2, 3]; arr.push(4); // arrμ [1, 2, 3, 4]κ° λ¨
length νλ‘νΌν°: λ°°μ΄μ κΈΈμ΄λ₯Ό μ¬μ©νμ¬ νΉμ μΈλ±μ€μ μμλ₯Ό μΆκ°ν©λλ€.
const arr = [1, 2, 3]; arr[arr.length] = 4; // arrμ [1, 2, 3, 4]κ° λ¨
concat λ©μλ: λ κ° μ΄μμ λ°°μ΄μ ν©μ³μ μ λ°°μ΄μ μμ±ν©λλ€.
const arr1 = [1, 2]; const arr2 = [3, 4]; const newArr = arr1.concat(arr2); // newArrμ [1, 2, 3, 4]κ° λ¨
μμ μμ
λ°°μ΄μ νΉμ μΈλ±μ€μ μλ μμλ₯Ό μμ νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
const arr = [1, 2, 3];
arr[1] = 4;
// arrμ [1, 4, 3]μ΄ λ¨
λ°°μ΄μ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ ν΄λΉ μμΉμ μλ‘μ΄ κ°μ ν λΉνλ©΄ λ©λλ€.
μμ μμ
λ°°μ΄μμ μμλ₯Ό μμ ν λλ λ€μκ³Ό κ°μ λ°©λ²μ μ¬μ©ν μ μμ΅λλ€.
pop λ©μλ: λ°°μ΄μ λ§μ§λ§ μμλ₯Ό μ κ±°νκ³ ν΄λΉ μμλ₯Ό λ°νν©λλ€.
const arr = [1, 2, 3]; const removed = arr.pop(); // arrμ [1, 2]κ° λκ³ , removedλ 3μ΄ λ¨
splice λ©μλ: μ£Όμ΄μ§ μΈλ±μ€μμλΆν° νΉμ κ°μμ μμλ₯Ό μ κ±°ν©λλ€.
const arr = [1, 2, 3, 4]; arr.splice(1, 2); // μΈλ±μ€ 1λΆν° 2κ°μ μμλ₯Ό μ κ±° // arrμ [1, 4]κ° λ¨
μ΄λ κ² λ°°μ΄μ μμλ₯Ό μΆκ°, μμ , μμ νμ¬ λ°°μ΄μ λ³κ²½ν μ μμ΅λλ€. λ°°μ΄μ κΈΈμ΄μ λ°°μ΄μ μ κ·Όνλ λ°©λ²μ λ€μ νλͺ©μμ μμλ³΄κ² μ΅λλ€.
3. λ°°μ΄μ κΈΈμ΄μ μ κ·Ό λ°©λ²
λ°°μ΄μ κΈΈμ΄λ₯Ό νμΈνκ³ , λ°°μ΄μ μ κ·Όνλ λ°©λ²μ μμλ³΄κ² μ΅λλ€.
λ°°μ΄μ κΈΈμ΄ νμΈ
λ°°μ΄μ κΈΈμ΄λ length
νλ‘νΌν°λ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.
const arr = [1, 2, 3];
console.log(arr.length); // 3
length
νλ‘νΌν°λ λ°°μ΄μ λ§μ§λ§ μΈλ±μ€λ³΄λ€ 1 ν° κ°μ κ°μ§κ² λ©λλ€. μ΄λ₯Ό μ΄μ©νμ¬ λ°°μ΄μ μμλ₯Ό λ°λ³΅νλ λ± λ€μν μμ
μ νμ©ν μ μμ΅λλ€.
λ°°μ΄μ μ κ·ΌνκΈ°
λ°°μ΄μ μλ κ° μμμ μ κ·ΌνκΈ° μν΄μλ μΈλ±μ€λ₯Ό μ¬μ©ν©λλ€. μλ°μ€ν¬λ¦½νΈμ λ°°μ΄μ 0λΆν° μμνλ μΈλ±μ€λ₯Ό κ°μ§λ©°, μμ μΈλ±μ€λ₯Ό ν΅ν΄ λ°°μ΄μ λμμλΆν° μμμ μ κ·Όν μλ μμ΅λλ€.
const arr = [10, 20, 30];
console.log(arr[0]); // 10
console.log(arr[1]); // 20
console.log(arr[-1]); // 30 (맨 λ€ μμ)
console.log(arr[-2]); // 20 (맨 λ€μμ λ λ²μ§Έ μμ)
λ°°μ΄μ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ ν΄λΉ μμΉμ μμμ μ κ·Όν μ μμ΅λλ€. λ§μ½ μ‘΄μ¬νμ§ μλ μΈλ±μ€λ₯Ό μ¬μ©νλ©΄ undefined
λ₯Ό λ°νν©λλ€.
λ°°μ΄ μννκΈ°
λ°°μ΄μ κ° μμμ μ κ·ΌνκΈ° μν΄ λ°λ³΅λ¬Έμ μ¬μ©ν μ μμ΅λλ€. κ°μ₯ μΌλ°μ μΈ λ°©λ²μΈ for
루νλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ μνν μ μμ΅λλ€.
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
μμ μμ μμ i
λ₯Ό μ΄μ©ν΄ λ°°μ΄μ μμμ μ κ·Όν μ μμ΅λλ€. for...of
λ¬Έμ΄λ forEach
λ©μλλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ μνν μλ μμ΅λλ€. μ΄λ κ² λ°°μ΄μ μμμ μ κ·Όνμ¬ κ°μ νμΈνκ±°λ μμ ν μ μμ΅λλ€.
λ°°μ΄μ κΈΈμ΄μ μ κ·Ό λ°©λ²μ λ°°μ΄μ λ€λ£¨λ μ€μν κ°λ μ λλ€. λ€μ νλͺ©μμλ λ°°μ΄μ λ€μν λ©μλμ λ°°μ΄μ μ‘°μνλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
4. λ°°μ΄ λ°λ³΅λ¬Έκ³Ό λ°°μ΄ λ©μλ
λ°°μ΄μ λ°λ³΅νκ±°λ μ‘°μνκΈ° μν΄ μ¬μ©λλ λ°°μ΄ λ°λ³΅λ¬Έκ³Ό λ°°μ΄ λ©μλμ λν΄ μμλ³΄κ² μ΅λλ€.
λ°°μ΄ λ°λ³΅λ¬Έ
λ°°μ΄μ λ°λ³΅νλ κ°μ₯ μΌλ°μ μΈ λ°©λ²μ for
루νλ₯Ό μ¬μ©νλ κ²μ
λλ€.
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
μμ μ½λλ λ°°μ΄μ κ° μμμ μ κ·ΌνκΈ° μν΄ λ°λ³΅λ¬Έμ μ¬μ©νλ μμμ
λλ€. for
루νμ 쑰건문μ ν΅ν΄ λ°°μ΄μ κΈΈμ΄λ₯Ό νμΈνκ³ , λ°°μ΄μ κ° μμμ μ κ·Όν μ μμ΅λλ€.
ES6λΆν°λ λ°°μ΄μ μννλ λ κ°νΈν λ°©λ²μΌλ‘ for...of
λ¬Έκ³Ό forEach
λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€.
for...of문
for...of
λ¬Έμ μ¬μ©νμ¬ λ°°μ΄μ μνν μ μμ΅λλ€.
const arr = [1, 2, 3, 4, 5];
for (const element of arr) {
console.log(element);
}
for...of
λ¬Έμ λ°λ³΅ μ λ°°μ΄μ κ° μμλ₯Ό μμλλ‘ element
λ³μμ ν λΉνλ©°, μμμ μμ°¨μ μΌλ‘ μ κ·Όν©λλ€.
forEach λ©μλ
forEach
λ©μλλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ μνν μλ μμ΅λλ€.
const arr = [1, 2, 3, 4, 5];
arr.forEach(function(element) {
console.log(element);
});
forEach
λ©μλλ λ°°μ΄μ κ° μμμ λν΄ μ§μ λ ν¨μλ₯Ό νΈμΆν©λλ€. μ΄ ν¨μλ μμλ₯Ό λ°μμ μ²λ¦¬ν μ μμ΅λλ€. forEach
λ©μλλ λν μΈλ±μ€μ λ°°μ΄ μ체 μΈμλ μ 곡ν μ μμ΅λλ€.
λ°°μ΄ λ©μλ
λ°°μ΄μ μ‘°μνκ³ λ³κ²½νκΈ° μν΄ λ€μν λ°°μ΄ λ©μλλ₯Ό μ¬μ©ν μ μμ΅λλ€. λͺ κ°μ§ μΌλ°μ μΈ λ°°μ΄ λ©μλλ λ€μκ³Ό κ°μ΅λλ€.
push λ©μλ
λ°°μ΄μ λμ μμλ₯Ό μΆκ°νλ push
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr = [1, 2, 3];
arr.push(4);
// arrμ [1, 2, 3, 4]κ° λ¨
pop λ©μλ
λ°°μ΄μ λ§μ§λ§ μμλ₯Ό μ κ±°νκ³ λ°ννλ pop
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr = [1, 2, 3, 4];
const removed = arr.pop();
// arrμ [1, 2, 3]κ° λκ³ , removedλ 4κ° λ¨
splice λ©μλ
μ§μ λ μΈλ±μ€μμλΆν° μμλ₯Ό μ κ±°νκ±°λ μ½μ
νλ splice
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr = [1, 2, 3, 4];
arr.splice(1, 2); // μΈλ±μ€ 1λΆν° 2κ°μ μμλ₯Ό μ κ±°
// arrμ [1, 4]κ° λ¨
concat λ©μλ
λ κ° μ΄μμ λ°°μ΄μ ν©μ³μ μλ‘μ΄ λ°°μ΄μ μμ±νλ concat
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr1 = [1, 2];
const arr2 = [3, 4];
const newArr = arr1.concat(arr2);
// newArrμ [1, 2, 3, 4]κ° λ¨
map λ©μλ
λ°°μ΄μ κ° μμμ ν¨μλ₯Ό μ μ©νμ¬ μλ‘μ΄ λ°°μ΄μ μμ±νλ map
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr = [1, 2, 3];
const squared = arr.map(function(element) {
return element * element;
});
// squaredλ [1, 4, 9]κ° λ¨
filter λ©μλ
μ£Όμ΄μ§ ν¨μλ‘ λ°°μ΄μ κ° μμλ₯Ό ν
μ€νΈνμ¬ μ‘°κ±΄μ μΆ©μ‘±νλ μμλ‘ μ΄λ£¨μ΄μ§ μλ‘μ΄ λ°°μ΄μ μμ±νλ filter
λ©μλλ λ€μκ³Ό κ°μ΄ μ¬μ©λ©λλ€.
const arr = [1, 2, 3, 4, 5];
const evenNumbers = arr.filter(function(element) {
return element % 2 === 0;
});
// evenNumbersλ [2, 4]κ° λ¨
λ°°μ΄ λ©μλλ λ°°μ΄μ μ‘°μνκ³ λ³κ²½νλ λ° μ μ©ν κΈ°λ₯μ μ 곡ν©λλ€. μμμ μκ°ν λ©μλ μΈμλ λ§μ λ°°μ΄ λ©μλκ° μμΌλ©°, κ°λ³ μμμ λν μμ , λ°°μ΄μ λͺ¨λ μμμ λν μμ , λ°°μ΄μ μΌλΆ μμλ₯Ό μ ννλ λ± λ€μν μ©λλ‘ μ¬μ©λ μ μμ΅λλ€.
5. λ€μ°¨μ λ°°μ΄κ³Ό λ°°μ΄ μ°μ°
λ€μ°¨μ λ°°μ΄κ³Ό λ°°μ΄ μ°μ°μ λν΄ μμλ³΄κ² μ΅λλ€.
λ€μ°¨μ λ°°μ΄
λ€μ°¨μ λ°°μ΄μ λ°°μ΄μ μμλ‘ λ€μ λ°°μ΄μ ν¬ν¨νλ λ°°μ΄μ λλ€. λ€μ°¨μ λ°°μ΄μ νλ ¬μ΄λ 2μ°¨μ μ’ν μμ€ν κ³Ό κ°μ λ°μ΄ν° ꡬ쑰λ₯Ό λ€λ£° λ μ μ©νκ² μ¬μ©λ μ μμ΅λλ€.
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
μμ μ½λλ 3x3 νλ ¬μ λνλ΄λ λ€μ°¨μ λ°°μ΄μ λλ€. κ° νμ λ°°μ΄λ‘ ννλλ©°, κ° μ΄μ λ°°μ΄μ μμλ‘ μ μ₯λ©λλ€. λ€μ°¨μ λ°°μ΄μμλ μΈλ±μ€λ₯Ό μ¬μ©νμ¬ κ° μμμ μ κ·Όν μ μμ΅λλ€.
console.log(matrix[0][0]); // 1
console.log(matrix[1][2]); // 6
console.log(matrix[2][1]); // 8
λ€μ°¨μ λ°°μ΄μ νμν κ²½μ° λ°°μ΄μ λ°°μ΄μ μ¬μ©νμ¬ λ³΅μ‘ν λ°μ΄ν° ꡬ쑰λ₯Ό ννν μ μμ΅λλ€.
λ°°μ΄ μ°μ°
λ°°μ΄μ κ·Έ μμ²΄λ‘ μ°μ°μ μνν μ μλ λ€μν λ©μλλ₯Ό μ 곡ν©λλ€.
λ°°μ΄ λ³ν©
λ κ° μ΄μμ λ°°μ΄μ νλλ‘ λ³ν©ν μ μμ΅λλ€. λ°°μ΄μ λ³ν©νλ κ°μ₯ κ°λ¨ν λ°©λ²μ concat
λ©μλλ₯Ό μ¬μ©νλ κ²μ
λλ€.
const arr1 = [1, 2];
const arr2 = [3, 4];
const merged = arr1.concat(arr2);
// mergedλ [1, 2, 3, 4]κ° λ¨
λλ spread
μ°μ°μλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ λ³ν©ν μλ μμ΅λλ€.
const arr1 = [1, 2];
const arr2 = [3, 4];
const merged = [...arr1, ...arr2];
// mergedλ [1, 2, 3, 4]κ° λ¨
λ°°μ΄ νν°λ§
μ£Όμ΄μ§ 쑰건μ κΈ°λ°μΌλ‘ λ°°μ΄μμ νμν μμλ§ νν°λ§ν μ μμ΅λλ€. filter
λ©μλλ₯Ό μ¬μ©νμ¬ μλ‘μ΄ λ°°μ΄μ μμ±ν μ μμ΅λλ€.
const arr = [1, 2, 3, 4, 5];
const evenNumbers = arr.filter(function(element) {
return element % 2 === 0;
});
// evenNumbersλ [2, 4]κ° λ¨
λ°°μ΄ λ³ν
λ°°μ΄μ λͺ¨λ μμλ₯Ό λ³ννμ¬ μλ‘μ΄ λ°°μ΄μ μμ±ν μ μμ΅λλ€. map
λ©μλλ₯Ό μ¬μ©νμ¬ κ° μμμ λν΄ μ§μ λ ν¨μλ₯Ό μ μ©ν μ μμ΅λλ€.
const arr = [1, 2, 3];
const squared = arr.map(function(element) {
return element * element;
});
// squaredλ [1, 4, 9]κ° λ¨
λ°°μ΄ μ λ ¬
λ°°μ΄μ μμλ₯Ό μ λ ¬ν μ μμ΅λλ€. sort
λ©μλλ₯Ό μ¬μ©νμ¬ λ°°μ΄μ μ λ ¬ν μ μμ΅λλ€.
const arr = [3, 1, 4, 2, 5];
arr.sort();
// arrμ [1, 2, 3, 4, 5]κ° λ¨
λλ μ λ ¬ μμλ₯Ό κΈ°μ€μΌλ‘ μ¬μ©μ μ μ ν¨μλ₯Ό μ λ¬ν μλ μμ΅λλ€.
const arr = [3, 1, 4, 2, 5];
arr.sort(function(a, b) {
return a - b;
});
// arrμ [1, 2, 3, 4, 5]κ° λ¨
μ΄μΈμλ λ°°μ΄μ λ€μν μ°μ°μ μνν μ μλ λ©μλμ κΈ°λ₯μ μ 곡ν©λλ€. λ°°μ΄μ μ¬μ©νμ¬ λ°μ΄ν°λ₯Ό κ΅¬μ± λ° μ‘°μνλ λ° μ μ©νκ² νμ©ν μ μμ΅λλ€.
λκΈ