검색 중이지만 명확한 답을 얻을 수 없습니다. (나는 자바 스크립트의 초보자이며 이것은 콘솔 내부의 테스트/연습입니다.) for 루프, 전역 범위 내에서 로컬 범위를 만들 수 있도록하려면 어떻게 객체 배열을 변수에 추가 할 수 있습니까? 예 : 사용자가 "별"이라는 변수 (프롬프트) 안에 얼마나 많은 별 (등급)을 설정 할지를 원합니다. 그런 다음 객체/배열 내부의 movieDb 변수에서 "rating :"이라고하는 변수 별을 호출 할 수 있어야합니다. 변수 별을 사용하여 사용자가 다른 정보와 함께 입력하는 별을 로그 할 수 있습니다. 허용되었거나 다른 접근 방식이 있습니까?for 루프 내에서 전역 범위로 로컬 범위 만들기
var movieDb =[
{
haswatched : "i",
title : "In Burges",
rating : stars,
},
{
haswatched : "i",
title : "Frozen",
rating : stars,
},
{
haswatched : "i",
title : "Mad Max",
rating : stars,
},
]
for (var i = 0; i < movieDb.length ; i++) {
var w = prompt("did you watch the movie?")
if (w === 'yes'){//first IF
movieDb[i].haswatched = "you have watched";
var r = prompt("would you like to rate us?");
if (r === "yes") {//nested in first IF
var stars = prompt("Enters Stars");
alert("Thanks for rating & Watching!")
} else if(r === "no"){ //nested in second IF
alert("You did not rate, Thanks for watching!")
}
}
else if (w === "no"){ //first ELSE IF
movieDb[i].haswatched = "you have not seen";
}
console.log(movieDb[i].haswatched + " " + "\""+movieDb[i].title+"\"" + " -" + movieDb[i].rating);
}'
내 코드를 비교 한 후 IF 문에서 변수 목록에 내 개체 목록의 등급 값을 지정하지 않았다는 것을 깨달았습니다. 이것은 확실히 다른 모든 대답들과 함께 도움이되었습니다. 나는 내 문제에 대한 해결책이라고 생각하는 잘못된 질문을하고 있었다고 생각한다. 감사!! – Andyg123