私は検索していますが、明確な答えは得られません。 (私はjavascriptの初心者ですが、これはコンソール内のテスト/練習です)どのようにforループ、グローバルスコープ内でローカルスコープを作ることができるので、オブジェクトの配列を変数に追加することができます。例: "stars"という名前の変数(プロンプト)の中に、ムービーが持つ星の数を設定する必要があります。次に、オブジェクト/配列内の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