[37일차] Javascript - 배열, 정렬, splice, filter, forEach, map

SOSO·2022년 6월 9일
0

학원

목록 보기
37/59
post-thumbnail

배열

배열은 순서가 있는 요소의 집합. 자바스크립트 배열의 길이는 가변적이다. 요소를 말미에 더하면 배열의 길이가 자동으로 늘어난다.

예제코드

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,,

delete

let array2 = ['포도','사과','귤'];
	             //  0    1    2
	
	delete array2[1];//제거한 위치에 빈 요소를 남김
	document.write(array2 + '<br>');


//결과
포도,,

splice

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

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

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

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
profile
한다 열심히

0개의 댓글