배열은 순서가 있는 요소의 집합. 자바스크립트 배열의 길이는 가변적이다. 요소를 말미에 더하면 배열의 길이가 자동으로 늘어난다.
var arr = [3,4,5];
for(var i=0;i<arr.length;i++){
document.write(arr[i]);
}
345
//배열 생성
let array = ['one','two','three'];
// 0 1 2 length = 3
array.length = 2; //마지막 데이터 제거
//배열 요소 목록
document.write(array + '<br>');
array.length = 4;//길이가 증가함
document.write(array + '<br>');
//결과
one,two
one,two,,
let array2 = ['포도','사과','귤'];
// 0 1 2
delete array2[1];//제거한 위치에 빈 요소를 남김
document.write(array2 + '<br>');
//결과
포도,,귤
let array3 = ['서울','부산','대구','광주'];
// 0 1 2 3
//인덱스2에 해당하는 요소부터 하나의 요소를 제거하고 제거된 곳을 메움
array3.splice(2,1);
document.write(array3);
//결과
서울,부산,광주
sort 메서드를 이용하면 배열의 요소 값을 정렬할 수 있다. 인자 없이 sort 메서드를 호출하면 문자열 기준으로 정렬.
문자열 정렬은 Unicode의 코드 포인트 값의 대소 비교를 통해 이루어짐
문자열 정렬
var arr = [‘one’,’two’,’three’,’four’,’five’,’six’];
arr.sort();
[‘five’,’four’,’one’,’six’,’three’,’two’]
숫자 배열의 정렬
var arr = [1,0,20,100,55];
arr.sort(function(a,b){
return a - b;
});
[0,1,20,55,100]
요소의 생성
var arr = [];
arr.push(요소);
요소의 제거
var arr = [‘zero’,’one’,’xxx’,’two’,’three’];
delete arr[2];
zero,one,,two,three //두 번째 인덱스에 해당하는 요소는 빈 그대로 남음
arr.splice(2,1); //두 번째 인덱스에 해당하는 요소부터 하나의 요소를 제거
zero,one,two,three
filter()메서드는 특정 조건을 만족하는 새로운 배열을 만들 때 사용
//배열 생성
let array = [1,2,3,4,5,6,7,8,9,10];
let new_array = array.filter(function(element,index,array){
return element <= 5;
});
//출력
document.write(new_array);
//결과
1,2,3,4,5
forEach() 메서드는 배열에 활용이 가능한 메서드로, 파라미터로 주어진 함수를 배열 요소 각각에 대해 실행하는 메서드
//배열 생성
let array = [10,20,30,40,50,60,70,80,90,100];
let sum = 0;
array.forEach(function(element,index,array){
//element : 요소
//index : 배열의 인덱스
//array : 배열
sum += element;
document.write(index + ' : ' + element + ' -> ' + sum + '<br>');
});
//결과
0 : 10 -> 10
1 : 20 -> 30
2 : 30 -> 60
3 : 40 -> 100
4 : 50 -> 150
5 : 60 -> 210
6 : 70 -> 280
7 : 80 -> 360
8 : 90 -> 450
9 : 100 -> 550
map()메서드는 배열의 모든 요소를 호출해서 원하는 방식으로 가공하고, 가공한 데이터를 새로운 배열로 반환
//배열 생성
let array = [1,2,3,4,5,6,7,8,9,10];
let new_array = array.map(function(element,index,array){
return element * element;
});
//출력
document.write(new_array);
//결과
1,4,9,16,25,36,49,64,81,100