λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

μžλ°”μŠ€ν¬λ¦½νŠΈ λ°°μ—΄ μ„ μ–Έ 및 μ‚¬μš©λ²• 총정리

by 5566 2023. 11. 15.

1. λ°°μ—΄μ˜ κ°œλ…κ³Ό μ„ μ–Έ 방법

λ°°μ—΄(Array)은 μ—¬λŸ¬ 개의 값을 ν•˜λ‚˜μ˜ λ³€μˆ˜μ— μ €μž₯ν•˜κΈ° μœ„ν•œ 데이터 κ΅¬μ‘°μž…λ‹ˆλ‹€. 배열은 μˆœμ„œκ°€ μžˆλŠ” 리슀트 ν˜•νƒœλ‘œ, 각 값은 인덱슀(index)λ₯Ό 톡해 μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 배열은 객체 νƒ€μž…μœΌλ‘œ κ°„μ£Όλ˜λ©°, λ°°μ—΄μ˜ ν¬κΈ°λ‚˜ μš”μ†Œμ˜ νƒ€μž…μ„ 미리 지정할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. 배열은 λ™μ μœΌλ‘œ 크기가 쑰절되며, μ–΄λ–€ νƒ€μž…μ˜ 값이라도 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ°°μ—΄μ˜ μ„ μ–Έ 방법

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 배열을 μ„ μ–Έν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  1. λ¦¬ν„°λŸ΄ ν‘œκΈ°λ²•

    const arr = [κ°’1, κ°’2, κ°’3];

    μœ„μ˜ μ½”λ“œλŠ” arrμ΄λΌλŠ” λ³€μˆ˜μ— [κ°’1, κ°’2, κ°’3]μ΄λΌλŠ” 배열을 ν• λ‹Ήν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

  2. new ν‚€μ›Œλ“œ

    const arr = new Array(κ°’1, κ°’2, κ°’3);

    new ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°°μ—΄ 객체λ₯Ό μƒμ„±ν•˜κ³ , 값을 λ„£μ–΄μ„œ 배열을 μ΄ˆκΈ°ν™”ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

  3. 빈 λ°°μ—΄

    const arr = [];

    빈 배열을 μ„ μ–Έν•  μˆ˜λ„ 있으며, 이후에 μš”μ†Œλ₯Ό μΆ”κ°€ν•˜μ—¬ 배열을 μ±„μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€.

  4. Array μƒμ„±μž ν•¨μˆ˜

    const arr = Array(κ°’μ˜κ°œμˆ˜);

    μš”μ†Œμ˜ 개수λ₯Ό λ„£μ–΄ Array μƒμ„±μž ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜μ—¬ 빈 배열을 λ§Œλ“€ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œ 배열을 μ„ μ–Έν•˜κ³  μ΄ˆκΈ°ν™”ν–ˆλ‹€λ©΄, ν•΄λ‹Ή 배열에 μ ‘κ·Όν•˜μ—¬ 값을 ν™•μΈν•˜κ±°λ‚˜ μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒ ν•­λͺ©μ—μ„œ 배열에 값을 μΆ”κ°€, μˆ˜μ •, μ‚­μ œν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

2. λ°°μ—΄μ˜ μš”μ†Œ μΆ”κ°€, μˆ˜μ •, μ‚­μ œ

배열에 μš”μ†Œλ₯Ό μΆ”κ°€, μˆ˜μ •, μ‚­μ œν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μš”μ†Œ μΆ”κ°€

배열에 μš”μ†Œλ₯Ό μΆ”κ°€ν•  λ•ŒλŠ” λ‹€μŒκ³Ό 같은 방법을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. push λ©”μ„œλ“œ: λ°°μ—΄μ˜ 끝에 ν•˜λ‚˜ μ΄μƒμ˜ μš”μ†Œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    const arr = [1, 2, 3];
    arr.push(4);
    // arr은 [1, 2, 3, 4]κ°€ 됨
  2. length ν”„λ‘œνΌν‹°: λ°°μ—΄μ˜ 길이λ₯Ό μ‚¬μš©ν•˜μ—¬ νŠΉμ • μΈλ±μŠ€μ— μš”μ†Œλ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

    const arr = [1, 2, 3];
    arr[arr.length] = 4;
    // arr은 [1, 2, 3, 4]κ°€ 됨
  3. 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]이 됨

λ°°μ—΄μ˜ 인덱슀λ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄λ‹Ή μœ„μΉ˜μ— μƒˆλ‘œμš΄ 값을 ν• λ‹Ήν•˜λ©΄ λ©λ‹ˆλ‹€.

μš”μ†Œ μ‚­μ œ

λ°°μ—΄μ—μ„œ μš”μ†Œλ₯Ό μ‚­μ œν•  λ•ŒλŠ” λ‹€μŒκ³Ό 같은 방법을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  1. pop λ©”μ„œλ“œ: λ°°μ—΄μ˜ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό μ œκ±°ν•˜κ³  ν•΄λ‹Ή μš”μ†Œλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

    const arr = [1, 2, 3];
    const removed = arr.pop();
    // arr은 [1, 2]κ°€ 되고, removedλŠ” 3이 됨
  2. 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]κ°€ 됨

이외에도 배열은 λ‹€μ–‘ν•œ 연산을 μˆ˜ν–‰ν•  수 μžˆλŠ” λ©”μ„œλ“œμ™€ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 배열을 μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό ꡬ성 및 μ‘°μž‘ν•˜λŠ” 데 μœ μš©ν•˜κ²Œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ“κΈ€