안녕하세요. 혀코입니다.
이번 시간에는 JavaScript에서 Array의 특징 및 기본적인 사용하는 방법에 대해서 알아보겠습니다.
JavaScript Array는 다음과 같은 형태를 기본적으로 사용합니다.
const array1 = [2, 3, 5, 3];
JavaScript Array는 다음과 같은 특징을 가집니다.
- Array의 각 값의 위치가 정해져 있으며, Index 값으로 각 값에 접근할 수 있습니다.
- For loop을 사용해서 값을 표시할 수 있습니다.
- Array 크기는 변경 가능합니다.
- Array에 동일한 값이 중복되어 있어도 이상없습니다.
- Array에 값으로 숫자(Number), 문자열(String), 객체(Object), 배열(Array) 등을 가질 수 있습니다.
- Array에서 특정 값을 삭제하는 것은 비교적 비효율적입니다.
특징들을 하나씩 구체적으로 확인해 보겠습니다.
- Array의 각 값의 위치가 정해져 있으며, Index 값으로 각 값에 접근할 수 있습니다.
Array의 첫번째 값은 Index 0 값에 매칭하며 순서대로 각 값에 접근할 수 있습니다.
4번째의 값은 Index 3 값에 매칭하며, array[3]으로 표시할 수 있고, 해당 index에 해당하는 값 Min이 출력되는 것을 확인할 수 있습니다.
const array1 = [1, 'Song', 'Kim', 'Min', 3, 'Park'];
console.log(array1[3]);
// Min
- For Loop 을 사용해서 Array 값을 표시할 수 있습니다.
const array1 = ['kim', 'song', 'min', 'park'];
for(const el of array1) {
console.log(el);
}
// kim
// song
// min
// park
- Array 크기는 변경 가능합니다. 값을 새로 추가할 수 있습니다.
const array1 = ['kim', 'song', 'min', 'park'];
console.log(array1.length);
array1.push('choi');
console.log(array1.length);
// 4
// 5
- Array에 동일한 값이 중복되어 있어도 이상이 없습니다.
아래와 같이 3 값이 두개가 있어도 이상이 없는 것을 확인할 수 있습니다.
const array1 = [2, 3, 5, 4];
array1.push(3);
console.log(array1);
// [2, 3, 5, 4, 3];
- Array에 값으로 숫자(Number), 문자열(String), 객체(Object), 배열(Array) 등을 가질 수 있습니다.
const array1 = [1, 'Song', [2, 'Min'], {'car': 'genesis'}];
console.log(array1);
// [1, 'Song', [2, 'Min'], {'car': 'genesis'}]
- Array에서 특정 값을 삭제하는 것은 비교적 비효율적입니다. Array는 인덱스 값이 정해져 있고, 중복된 값을 허용하기 때문에 Array에서 특정 값을 찾고 제거하는 것은 다른 데이터 타입인 객체(object)에 비해 비효율적인 단점이 있습니다. object의 경우 key값을 알면 바로 제거가 가능하지만 array에서는 첫째열부터 해당 값이 해당 문자열을 가지는지 확인 후 찾을 때까지 for loop 이 실행되므로 비효율적입니다.
const array1 = ['kim', 'song', 'min', 'park', 'song'];
const nameIndex = array1.findIndex(el => el === 'song');
console.log(nameIndex);
// 첫번째 매칭이 되는 값의 인덱스 값을 표시합니다.
// 1
// 해당 인덱스 값으로 부터 1개의 값을 삭제합니다.
array1.splice(nameIndex, 1);
console.log(array1);
// ['kim', 'min', 'park', 'song']
이렇게 JavaScript에서 Array의 특징 및 기본적인 사용 방법에 대해서 알아봤습니다.
유용하셨다면, 공감과 구독 부탁 드립니다.
감사합니다. :)
댓글