blog

Java script의 데이터 유형: 배열

배열은 정수를 통해 오프셋을 계산하여 요소에 액세스하는 선형적으로 할당된 메모리 조각입니다. 배열은 매우 빠른 데이터 구조가 될 수 있습니다. 하지만 이 배열과 같은 데이터 구조는...

Oct 29, 2025 · 4 min. read
シェア

Preface

배열은 선형적으로 할당된 메모리 조각으로, 정수를 통해 오프셋을 계산하여 요소에 액세스합니다. 배열은 매우 빠른 데이터 구조일 수 있습니다. 하지만 자바스크립트는 이러한 배열과 같은 데이터 구조 대신 배열과 유사한 속성을 가진 객체를 제공합니다. 배열의 첨자를 문자열로 변환하고 이를 프로퍼티로 사용합니다.

배열 리터럴

배열 리터럴은 새 배열을 만들 때 매우 편리한 표현식을 제공합니다. 배열 리터럴은 한 쌍의 대괄호로 묶인 0개 이상의 쉼표로 구분된 값을 가진 표현식으로, 배열의 첫 번째 값은 속성 이름 '0', 두 번째 값은 속성 이름 '1' 등의 값을 갖습니다.

var empty=[]
var numbers=[0,1,2,3,4,5,6,7,8,9]
empty[1] //undefined
numbers[1] //1

대부분의 언어에서 배열의 모든 요소는 같은 유형이어야 하지만, 자바스크립트는 배열에 어떤 유형의 혼합 값도 포함할 수 있도록 허용합니다:

var arr = ['string',9,true,null,undefined,[1,2],{key:value},NaN,Infinity]
arr.length //9

배열의 길이

모든 배열에는 길이 속성이 있습니다. 대부분의 다른 언어와 달리 자바스크립트 배열에는 길이 상한이 없습니다. 현재 길이보다 크거나 같은 숫자를 가진 요소를 아래 첨자로 저장하면 새 요소를 수용하기 위해 길이가 증가합니다. 배열 경계 오류가 발생하지 않습니다.

길이 속성의 값은 배열의 가장 큰 정수 속성 이름 + 1이며, 배열의 속성 수와 반드시 같을 필요는 없습니다.

var arr =[]
arr.length //0
arr =true
arr.length //1001

길이 값을 직접 설정할 수 있습니다. 길이 값을 더 크게 설정해도 배열에 더 많은 공간을 할당할 필요가 없습니다. 길이를 더 작게 설정하면 새 길이보다 크거나 같은 첨자가 있는 모든 프로퍼티가 삭제됩니다.

numbers.length = 3
//numbers [0,1,2]

아래 첨자를 해당 배열의 현재 길이로 지정하여 배열의 끝에 새 요소를 추가할 수 있습니다.

numbers[numbers.length] = 4
//numbers  [0,1,2,4]

배열용 메서드

자바스크립트는 배열을 보다 쉽고 효율적으로 작업하고 조작할 수 있는 여러 가지 강력한 배열 메서드를 제공합니다. 배열에서 일반적으로 사용되는 메서드는 다음과 같습니다.

concat()메서드

concat() 메서드는 두 개 이상의 배열을 연결하여 새 배열을 반환하는 데 사용됩니다. 이 메서드는 기존 배열을 변경하지 않고 병합된 새 배열을 반환합니다.

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const newArr = arr1.concat(arr2);
console.log(newArr); // [1, 2, 3, 4, 5, 6]

join()메서드

join() 메서드는 배열의 모든 요소를 단일 문자열로 조인합니다. 조인 프로세스 중에 배열 요소를 구분하는 인자로 구분 기호를 지정할 수 있습니다.

const arr = ["apple", "banana", "orange"];
const joinedString = arr.join(", ");
console.log(joinedString); // "apple, banana, orange"

push()및 pop() 메서드

push() 메서드는 배열의 끝에 하나 이상의 요소를 추가하는 데 사용되며 pop() 메서드는 배열의 끝에서 마지막 요소를 제거하는 데 사용됩니다.

const arr = [1, 2, 3];
arr.push(4, 5); // 요소 추가하기
console.log(arr); // [1, 2, 3, 4, 5]
arr.pop(); // 마지막 요소를 제거합니다.
console.log(arr); // [1, 2, 3, 4]

shift()및 unshift() 메서드

shift() 메서드는 배열의 첫 번째 요소를 제거하는 데 사용되며, unshift() 메서드는 배열의 시작 부분에 하나 이상의 요소를 추가하는 데 사용됩니다.

const arr = [1, 2, 3];
arr.shift(); // 첫 번째 요소를 제거합니다.
console.log(arr); // [2, 3]
arr.unshift(0); // 처음에 요소 추가하기
console.log(arr); // [0, 2, 3]

slice()메서드

slice() 메서드는 처음부터 끝까지 선택된 배열의 일부를 반환합니다. 원래 배열은 수정하지 않습니다.

const arr = [1, 2, 3, 4, 5];
const slicedArr = arr.slice(1, 4);
console.log(slicedArr); // [2, 3, 4]

slice() 메서드는 배열의 끝에서 계산을 시작할 위치를 나타내는 음수를 인수로 받을 수 있습니다.

const arr = [1, 2, 3, 4, 5];
const slicedArr = arr.slice(-3);
console.log(slicedArr); // [3, 4, 5]

스플라이스() 메서드

스플라이스() 메서드는 지정된 위치에 요소를 추가하거나 제거하는 데 사용됩니다. 이 메서드는 원래 배열을 수정하고 삭제된 요소를 반환합니다.

const arr = [1, 2, 3, 4, 5];
arr.splice(2, 1, 6); // 인덱스 2에서 요소를 삭제하고 6을 삽입합니다.
console.log(arr); // [1, 2, 6, 4, 5]

indexOf()및 lastIndexOf() 메서드

indexOf() 메서드는 배열에서 첫 번째로 일치하는 요소의 인덱스를 반환하고 lastIndexOf() 메서드는 배열에서 마지막으로 일치하는 요소의 인덱스를 반환합니다.

const arr = [1, 2, 3, 4, 2];
console.log(arr.indexOf(2)); // 1
console.log(arr.lastIndexOf(2)); // 4

forEach()메서드

forEach() 메서드는 배열의 각 요소를 반복합니다.

const arr = [1, 2, 3];
arr.forEach(item => {
 console.log(item);
});

reverse()메서드

reverse() 메서드는 배열의 요소 순서를 반대로 하는 데 사용됩니다.

const arr = [1, 2, 3, 4, 5];
const reversedArr = arr.reverse();
console.log(reversedArr); // [5, 4, 3, 2, 1]

sort()메서드

sort() 메서드는 배열의 요소를 정렬하는 데 사용됩니다.

const arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
const sortArr1 = arr.sort((a, b) =>{
 return a-b // 
});
const sortArr2 = arr.sort(()=>{
 return b-a // 
})
Read next

우콩파이 H3 리눅스 이미지 굽기

우분투 시스템 이미지를 TF 카드에 굽기 먼저 8GB 이상의 대용량 TF 카드를 준비하고, TF 카드 전송 속도는 클래스 10 이상이어야하며, SanDisk 및 기타 브랜드의 TF 카드를 사용하고 TF 카드를 포맷 한 다음 TF 카드를 컴퓨터에 삽입하는 것이 좋습니다.

Oct 29, 2025 · 3 min read