인덱스를 가지는, 여러개의 자료를 저장 할 수 있는 리스트와 비슷한 객체이다. 배열의 길이와 요소의 자료형은 고정되어 있지 않으며, 배열의 길이는 언제든지 늘어나거나 줄어들 수 있다. 배열의 인덱스로는 문자열을 사용할 수 없으며 정수만 허용한다.
배열은 다음과 같은 방법으로 생성이 가능하다.
let sample1 = new Array(); // 길이가 0인 배열 생성 (예전 방식)
let sample2 = new Array(10); // 길이가 10인 배열 생성
let sample3 = []; // 길이가 0인 배열 생성 (literal notation 방식)
let sample4 = new Array('a', 12, 'This is Array'); // 배열 생성 & 초기화 (예전 방식)
let sample5 = ['a', 12, 'This is Array']; // 배열 생성 & 초기화 (literal notation 방식)
배열의 인덱스는 0부터 시작하며, 배열의 길이 -1 만큼 존재한다.
배열의 길이를 구하기 위해서는 length 프로퍼티를 사용한다.
데이터가 존재하지 않는 인덱스를 사용하면 undefined를 출력한다.
let sample = ['a', 12, 'This is Array'];
let arrLength = sample.length;
console.log(sample); // output : ['a', 12, 'This is Array']
console.log(sample[0]); // output : a
console.log(sample[arrLength-1]); // output : This is Array
console.log(sample[arrLength]); // output : undefined
Array.push()
: 배열의 끝에 요소를 추가
Array.unshift()
: 배열의 앞쪽에 요소를 추가
Array.splice(start: number, deleteCount?: number, ...items)
: deleteCount에 0을 입력하면 요소를 삭제하지 않고 원하는 위치에 추가가 가능하다
Array[Array.length] = ...items
: length 프로퍼티를 이용한 배열의 끝에 요소를 추가하는 방법
Array.push()
Array.unshift()
Array.splice()
Array[Array.length] = ...items
Array.splice(start: number, deleteCount?: number, ...items)
: deleteCount: 1
을 입력하면 해당 위치의 요소를 삭제 후 ...items
에 입력한 요소를 삽입 할 수 있다indexOf 함수 활용
Array.splice()
indexOf
Array.pop()
: 배열의 마지막 요소를 제거Array.shift()
: 배열의 첫 번째 요소를 제거Array.splice(start: number, deleteCount?: number, ...items)
: start: number
부터 deleteCount?: number
값 만큼 요소를 제거delete Array[]
: 요소는 그대로 존재하며 값만 삭제된다ex) 짝수의 요소만 제거하고 싶을 때
let sample [[1,2,3], [4,5,6], [7,8,9]];
function twoDimensionalArray(arr) {
for ( let i=0; i < arr.length; i++) {
for ( let j=0; j <= arr[i].length; j++) {
if( arr[i][j] % 2 === 0 ) {
arr[i].splice(j,1)
}
}
}
return arr
}
참고