인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

sjhong98님의 프로필 이미지
sjhong98

작성한 질문수

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

자바스크립트 Wrap-up Question

괄호 안에 있는 것과 바깥에 있는 것이 어떤 의미 차이가 있는지 궁금합니다

작성

·

134

2

function getExpensiveProducts(products){
	for(var i = 0; i < products.length ;i++){
        var newProducts = [];
		var product = products[i];
		var price = product.price;
		if(price >= 60000){
				newProducts.push(product)
                return newProducts;
		}
	}
}

answer로 올려주신 코드에서 

var newProducts = [ ];     이 부분이랑

return newProducts;       

이 부분을 괄호 안쪽에 넣어두면 반환되어야하는 배열 객체 두개 중에서 하나밖에 반환이 되지 않는데 왜 그런지 궁금합니다

답변 1

1

그랩님의 프로필 이미지
그랩
지식공유자

안녕하세요. return 은 기본적으로 함수의 실행을 종료하는 구문입니다. 따라서 return을 하는 이후 동작은 종료되게 되어있습니다.

현재 올려주신 코드에서 for문 안에 return을 넣으면 뒤에 더 순회할 수 있는 동작이 수행되지 않고 종료됩니다. 따라서 return은 for문이 끝난 마지막에 넣어줘야 정상적으로 동작됩니다. 

마찬가지로 newProducts는 반복문을 통해 데이터를 전부 넣은 후 return해주는 것이 목표임으로 for문 안에 넣지 않고 밖에 넣습니다.

sjhong98님의 프로필 이미지
sjhong98

작성한 질문수

질문하기