배열을 만드는 방법


var member = ['one','two','three'];
            document.write(member[0],member[1]member[2]); // one,two,three
            document.write(member);                       // one,two,three

배열을 만드는 방법은
배열이름 = [a , b , c]; 의 형태로 배열의 원소를 대괄호로 감싸는 형태이다.
배열의 원소는 0번부터 시작한다.

function getmembers(){
                 return ['one','two','three'];
            }
            var members = getmembers();
            document.write(members);     // one,two,three

배열을 함수를 이용해서 선언하는 방법이다.


배열과 반복문


function getmembers(){
                 return ['one','two','three'];
            }
            var members = getmembers();   // 함수를 이용한 배열의 선언

            for(i=0;i<members.length;i++){
                document.write(members[i].toUpperCase()+"<br/>") 
              // 반복문을 이용해 배열의 원소를 대문자로 반환              
            }

              // ONE,TWO,THREE

toUpperCase 함수를 이용해 배열의 원소를 대문자로 반환하여 출력하는 코드이다.
조건문의 조건이 해당 배열의 크기로 지정되어있기 때문에
이후에 배열의 크기가 늘어나고 줄어듦에 관계 없이 코드는 동작한다.


배열의 수정


var numbers = ['one','two','three','four','five'];
             numbers.push('six');
             document.write(numbers); // one,two,three,four,five,six

push 함수를 사용하면 배열의 맨 뒤에 원소를 추가할 수 있다.

var numbers = ['one','two','three','four','five'];
             numbers.concat(['six','seven']);
             document.write(numbers); // one,two,three,four,five,six,seven

concat 함수를 사용하면 배열의 맨 뒤에 추가하고자 하는 배열을 덧붙힐 수 있다.
해당 함수를 사용할 때 괄호 안에 기입되는 인자는 배열의 형태를 띄고 있어야 한다.

var numbers = ['one','two','three','four','five'];
             numbers.unshift('zero');
             document.write(numbers); // zero,one,two,three,four,five

unshift함수를 사용하면 배열의 맨 앞에 원소를 추가할 수 있다.

var numbers = ['one','two','three','four','five'];
             numbers.splice(2,0,'zero');
             document.write(numbers);    // one,two,zero,three,four,five
             // 2번 원소의 앞(0)에 'zero'원소를 기입하겠다.
             numbers.splice(2,1,'six');  
             document.write(numbers);    // one,two,six,three,four,five
             // 2번 원소부터 (1)개의 원소를 지우고 해당 위치에 'six'원소를 기입하겠다.
             numbers.splice(3,2,'seven');
             document.write(numbers);    // one,two,six,seven.five
             // 3번 원소부터 (2)개의 원소를 지우고 해당 위치에 'seven'원소를 기입하겠다.
             numbers.splice(4,0,'eight');
             document.write(numbers);    // one,two,six,seven,eight,five
             // 4번 원소의 앞(0)에 'eight'원소를 기입하겠다.

splice함수를 사용하면 배열의 특정 원소를 제거하고 해당 위치에 새로운 원소를 기입할 수 있다.
한 번에 여러개의 원소를 지울 수도 있다.

var numbers = ['one','two','three','four','five'];
             numbers.shift();
             document.write(numbers); // two,three,four,five

shift함수를 사용하면 배열의 제일 앞에있는 원소를 제거할 수 있다.

var numbers = ['one','two','three','four','five'];
             numbers.pop();
             document.write(numbers); // one,two,three,four

pop함수를 사용하면 배열의 제일 뒤에있는 원소를 제거할 수 있다.

var numbers = [4,3,5,1,9];
             numbers.sort();
             document.write(numbers); // 1,3,4,5,9

sort함수를 사용하면 배열이 오름차순으로 정렬된다.

var numbers = [4,3,5,1,9];
             numbers.reverse();
             document.write(numbers); // 9,5,4,3,1

reverse함수를 사용하면 배열이 내림차순으로 정렬된다.

var numbers = [1,11,2,21,3,31,4,41];
             numbers.sort();
             for(i=0;i<numbers.length;i++){
             document.writeln(numbers[i]);
             } // 1 , 11 , 2 , 21 , 3 , 31 , 4 , 41  
               // 오름차순 정렬은 되었지만 숫자의 크기순은 아닌모습


             numbers.sort(function(a, b)  {
                 return a - b;
             });
             for(i=0;i<numbers.length;i++){
             document.writeln(numbers[i]);
             }  // 1 , 2 , 3 , 4 , 11 , 21 , 31 , 41
                // 숫자의 크기 순서대로 오름차순이 되었다.

sort함수는 인수로 아무 값도 지정해주지 않게된다면
compare Function이 생략되어 유니코드 순으로 정렬된다.
숫자의 크기에 따라 정렬되게 하기 위해서는 인수란에 숫자의 크기를 판별할 수 있는
판별식을 함수로 정의하여 기입해줘야 한다.

profile
공부기록

0개의 댓글