1. 배열(Array)이란?
- 자바스크립트에서 배열(array)은 이름과 인덱스로 참조되는 정렬된 값의 집합으로 정의된다.
- 배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를
인덱스(index)라고 한다.
- 좀 더 정확히는 배열이 아니라 Linked List로 작동된다.
- Linked List의 장단점
장점)
1) 메모리 단편화의 영향을 안 받음
※ 메모리 단편화란?
: 공간이 남아 있어도 주소가 연속되지 않으면 해당 공간들에 맞는 배열을 만들 수 없음
2) 크기의 유연성이 있음
단점)
- 데이터가 많을수록 주소를 찾아가는 데 시간이 많이 듬
2. 배열 문법
1) var arr = [배열요소1, 배열요소2,...]; // 배열 리터럴을 이용하는 방법
2) var arr = Array(배열요소1, 배열요소2,...); // Array 객체의 생성자를 이용하는 방법
3) var arr = new Array(배열요소1, 배열요소2,...); // new 연산자를 이용한 Array 객체 생성 방법
3. 배열의 참조
: 자바스크립트에서 배열의 각 요소를 참조하고 싶을 때는 [] 연산자를 사용한다.
배열이름[인덱스]
자바스크립트에서는 배열 요소의 개수를 배열의 길이라고 하며
이러한 배열의 길이는 length 프로퍼티에 자동으로 갱신된다.
자바스크립트에서 인덱스는 언제나 0부터 시작한다.
다음 예제는 배열을 생성하고, 생성된 배열에 요소를 추가하고 삭제하는 예제이다.
var arr = ["JavaScript"]; // 요소가 하나뿐인 배열을 생성함.
var element = arr[0]; // 배열의 첫 번째 요소를 읽어서 대입함.
arr[1] = 10; // 배열의 두 번째 요소에 숫자 10을 대입함. 배열의 길이는 1에서 2로 늘어남.
arr[2] = element; // 배열의 세 번째 요소에 변수 element의 값을 대입함. 배열의 길이는 2에서 3으로 늘어남.
document.write("배열 arr의 요소에는 [" + arr + "]가 있습니다.<br>"); // 배열의 요소를 모두 출력함.
document.write("배열 arr의 길이는 " + arr.length + "입니다.<br>"); // 배열의 길이를 출력함.
delete arr[2]; // 배열의 세 번째 요소를 삭제함. 하지만 배열의 길이는 변하지 않음.
document.write("배열 arr의 요소에는 [" + arr + "]가 있습니다.<br>"); // 배열의 요소를 모두 출력함.
document.write("배열 arr의 길이는 " + arr.length + "입니다."); // 배열의 길이를 출력함.
4. 배열의 메소드
push
배열의 가장 마지막에서부터 값을 추가한다.
fruits.push('pear', 'berry');
console.log(fruits);
// ['apple', 'banana', 'kiwi', 'melon', 'pear', 'berry']
pop
배열의 가장 마지막 값을 삭제한다.
fruits.pop();
console.log(fruits);
// ['apple', 'banana', 'kiwi', 'melon', 'pear']
unshift
배열의 가장 앞에서부터 값을 추가한다.
fruits.unshift('berry', 'grape');
console.log(fruits);
// ['berry', 'grape', 'apple', 'banana', 'kiwi', 'melon', 'pear']
shift
배열의 가장 앞에 값을 삭제한다.
fruits.shift();
console.log(fruits);
// ['grape', 'apple', 'banana', 'kiwi', 'melon', 'pear']
sort
배열을 정리한다.
var example = new Array(1,4,2,3,5);
example.sort();
console.log(example);
// [1, 2, 3, 4, 5]
'Javascript' 카테고리의 다른 글
자바스크립트 기초(객체) (0) | 2022.02.16 |
---|---|
자바스크립트_로또 당첨 알고리즘 만들기 (0) | 2022.02.15 |
자바스크립트 기초(함수) (0) | 2022.02.11 |
자바스크립트 기초(조건문, 반복문) (0) | 2022.02.10 |
자바스크립트 기초(연산자) (0) | 2022.02.10 |