[js] shift() 함수

florentyoon·2020년 12월 16일
0

js

목록 보기
3/12

자바스크립트 내장 함수중 shift() 함수 사용 예제.
물론 해당 예제는 while문과 do while문 예제인데, 반복문은 패스.
shift()는 선입 선출 개념으로 먼저 들어온 내용을 먼저 내보낸다.
즉, 첫 번째 배열부터 차례대로 값을 할당한다.

// 변수 home 생성. 객체 자료형 요소 배열생성.

var home = [
    {name : '남준', city: '일산', place: '경기도'},
    {name : '서준', city: '온양', place: '충청도'},
    {name : '북준', city: '천안', place: '충청도'},
    {name : '이진', city: '부천'},
    {name : '김준', city: '오산', place: '경기도'},
    {name : '김일준', city: '부산', place: '경상도'},
    {name : '동준', city: '수원', place: '경기도'},
    {name : '박이준', city: '광주', place: '전라도'},
];


// isHometown이라는 함수 선언. 매개변수(parameter)로 h, name을 받으며, 템플릿 리터럴로 각 인자(argument)들을 불러와 출력함.
var isHometown = function (h, name) {
    console.log(`함수 실행 중... ${h.city} 도시에서 ${name} 을 찾음. `);
    
    //만약 조건에 맞으면, 해당 인자를 반환함. 
    if(h.name === name) {
        console.log(`${h.name}은 ${h.city} ${h.place} 살아요.`);
        
        return true;
    }
    return false;
}

/* 
만약에 위에 shift()를 사용하지 않는다면, 이렇게 for문으로도 해석할 수 있다. 
for(var i=0; i < home.length; i++){
    h =home[i];    
    if(!h.name || !h.place || !h.city) continue;
    var result = isHometown(h, '동준');
    if(result) break;
}
 */

// 반복문에 shift()함수를 사용해서 h라면 변수에 맨 위에 선언했던 변수 home의 값을 하나씩 불러옴. 
// while문은 home의 길이만큼 반복함. 
while(h = home.shift()) {
   
    if(!h.name || !h.place || !h.city) continue;

    // 사용자가 찾고자 하는 값을 isHometown의 인자로 넘김. 
    var result = isHometown(h, '김일준');

    // 일치하는 정보 찾으면 while문 멈춤. 
    if(result) break;
}

// 사용자 정보를 찾은 후에는 새로운 정보를 입력함. 
// do while은 무조건 한번 실행하는 반복문
var i = 0;
var names = ['남준', '북준', '김일준', '박이준'];
var cities = ['부산', '천안', '인천', '대천'];
do {
    home[i] = {name: names[i], city: cities[i]};
    i++;
}while(i < 4);
console.log(home);




코드 출처 : [초보자를 위한 javascript 200제, 고재도, 노지연 저, 정보문화사]

profile
florentyoon의 IT 세상

0개의 댓글