본문 바로가기

프로그래밍/자바스크립트

[자바스크립트]배열 : 요소 정렬 / 배열 메서드(join,slice,concat,pop,push)

1. 요소 정렬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>배열요소의 정렬</title>
<script type="text/javascript">
    //배열 생성
    var array = ['가','하','아','나'];
    
    //사전에 명시된 순서대로 정렬(문자열을 기준으로 정렬)
    array.sort();
    
    //배열 요소 목록 출력(가,나,아,)
    document.write(array+'<br>');
    
    //반대로 정렬(하,아,나,가)
    array.reverse();
    document.write(array+'<br>');    
    document.write('-------------------------<br>');
    
    //배열 생성
    //숫자는 문자열로 인식하여 sort하기 때문에 함수로 다시 sort해줘야함.
    var array2 = [52,273,103,32];
    
    //오름차순으로 정렬
    array2.sort(function(left,right){
        return left - right;
        
    });
    document.write(array2+'<br>');    
    
    //내림차순으로 정렬
        array2.sort(function(left,right){
        return right - left;
        
    });
    
    document.write(array2+'<br>');    
</script>
//출력 결과
가,나,아,하
하,아,나,가
-------------------------
32,52,103,273
273,103,52,32
 
</head>
<body>
 
</body>
</html>
cs

 

2. 메서드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>배열의 메서드 사용</title>
<script type="text/javascript">
    var array=['파도','하늘','도시','구름'];
    
    //배열 요소의 목록
    document.write(array+'<br>');
    document.write('array.join() =' + array.join()+'<br>');    //쉼표를 구분자로 하는문자열 반환
    document.write('array.join("-") = ' + array.join('-')+'<br>'); //구분자가 하이픈으로 바뀜
    
    //지정한 인덱스부터 마지막 인덱스까지 데이터를 추출해서 새로운 배열로 반환
    document.write('array.slice(2) = ' + array.slice(2+ '<br>');    //도시,구름
    
    //시작 인덱스 부터 끝 인덱스 전까지
    //array.slice(1,4)면 하늘,도시,구름
    document.write('array.slice(1,3) = '+ array.slice(1,3)+'<br>'); //하늘,도시
    
    document.write('array.concat("서울","부산") =' + array.concat('서울','부산'+ '<br>');//파도,하늘,도시,구름,서울,부산
    document.write('array.concat(["한국","프랑스"]) = ' + array.concat(['한국','프랑스']));    //파도,하늘,도시,구름,한국,프랑스
    
    document.write('<br>---------------------------<br>')
    //메서드를 이용한 배열의 요소 삽입/삭제
    //push() : 배열에 요소 저장
    //pop() : 배열에서 요소를 삭제. 뒤에서부터 삭제
     //배열 생성
     var array=[];
     
     array.push(10,20,30);    //삽입
     document.write(array+'<br>');
     
     array.push(4);            //삽입
     document.write(array+'<br>');
    
     
     array.pop(); //제거
     document.write(array+'<br>');
     
     array.pop();
     document.write(array+'<br>');
    
</script>
//출력결과
파도,하늘,도시,구름
array.join() =파도,하늘,도시,구름
array.join("-") = 파도-하늘-도시-구름
array.slice(2) = 도시,구름
array.slice(1,3) = 하늘,도시
array.concat("서울","부산") =파도,하늘,도시,구름,서울,부산
array.concat(["한국","프랑스"]) = 파도,하늘,도시,구름,한국,프랑스
---------------------------
10,20,30
10,20,30,4
10,20,30
10,20
</head>
<body>
</body>
</html>
cs