웹마스터 팁

배열 활용하기(초급)

2007.12.03 21:21

예뜨락

질문란에 올라온걸 답해주면서 필요하신 분들이 있을듯 해 카피합니다

활용 :사진과 프로필을 배열로 받아두고 해당 번호를 입력했을때 출력하기

1번을 쓰고 눌렀을때 1번 학생의 사진과 이름출력 10번 쓰고 눌렀을때 10번사진 출력 이름 출력

<script type="text/javascript">
  var baseURL="http://www.zeroboard.com/modules/editor/components/emoticon/tpl/images/msn/";
  var isPICTURE=new Array();
      //가로 안에 홑따옴표 그림주소 원화표시위에 있는 바표시(구분자) 이름으로 넣으면 됩니다
      //아래와 같은 방법으로 복사해서 그림주소 이름만 바꿔 넣으면 됩니다
      isPICTURE.push('msn001.gif|아무개');
      isPICTURE.push('msn002.gif|아무개2');
      isPICTURE.push('+ 'msn003.gif|아무개3');
      isPICTURE.push('msn004.gif|아무개4');
      isPICTURE.push('msn005.gif|아무개5');
      isPICTURE.push('msn006.gif|아무개6');


//출력 함수
function pirntPIC(){
    var inlNUM =document.getElementById("inNUM").value;
    inlNUM=parseInt(inlNUM-1);//숫자와 배열을 매칭시키기 위해 빼기1을 해줌

    //입력창이 비어 있으면 알러트 후 리턴 시킴
    if(inlNUM==null){
       alert("임의의 수를 입력하세요 !");
       document.getElementById("inNUM").focus();
       return;
    }
    //없는 번호일 때
    if(!isPICTURE[inlNUM]){
       alert("없는 번호입니다 !   nn전체 입력범위는 "+isPICTURE.length+"번 까지입니다");
       document.getElementById("inNUM").focus();
       return;
    }
    var picSRC=isPICTURE[inlNUM].split("|")[0];
    var propile=isPICTURE[inlNUM].split("|")[1];
    document.getElementById("pictureIN").src=baseURL+picSRC;//사진 출력
    document.getElementById("propile").innerHTML =propile;//해당학생의 프로필또는 이름 출력
}

</script>




번호를 입력하세요: <input type="text" id="inNUM" value=""><br />
<input type="button" value="출력" onclick="pirntPIC();"><br />
 <table border="1" width="380">
    <tr>
        <td colspan="2">
            <p>소갯말</p>
        </td>
    </tr>
    <tr>
        <td>
        <img src="http://www.zeroboard.com/modules/editor/components/emoticon/tpl/images/yellow/yellow_emoticon%20(9).gif" id="pictureIN" />
        <div &nbsp;위의 주소에 기본 이미지를 넣으세요 사진들어가는 자리</div>
        </td>
        <td>
        <div id="propile">&nbsp;이름 또는 인적사항</div>
        </td>
    </tr>
</table>
 






위에서 눈여겨 볼것은
  var isPICTURE=new Array();   
  isPICTURE.push('msn001.gif|아무개');

위의 부분입니다
새로운 배열을 지정해 준다음
push()함수를 이용해서 새로 만든 배열에 하나씩 밀어 넣습니다
배열에 밀어넣을때 쓰고자하는 것들을 구분자등을 이용해서 밀어넣었다는 것에 신경을 쓰고 보셔야 합니다
위에서 쓴 구분자는 |  명칭이 생각이 안나는데 원화표시(백슬러시) 위에 있는 바입니다
구분자를 통해 넣었기 때문에 
다시 쓰기 위해서는 구분자를 기준으로 쪼개줘야 합니다

 var picSRC=isPICTURE[inlNUM].split("|")[0];
  var propile=isPICTURE[inlNUM].split("|")[1];

위와 같이 쪼개주면 처음 들어온 것은 이미지로 다음 들어온 것은 이름으로 가져다 쓰실수 있습니다
만약에 인풋창에
1을 입력했다면
inNUM엔 0이란 숫자가 들어갑니다
위에서 들어온 숫자에 -1을 해줬기 때문입니다

※ 배열은 무조건 0부터 시작합니다

for문으로 돌린다면

for(i=0;isPICTURE.length;i++){
     var picSRC=isPICTURE[i].split("|")[0];
     var propile=isPICTURE[i].split("|")[1];
}
과 같이 쓰면 포문안에서 배열로 차례 차례 인식할수 있습니다