私はトリビアゲームを作成します。これは、ユーザーに4つの答えを与えるようにします。配列を使用して質問と回答をこのゲームに適したオプションとして使用していますか?ネストされた配列を作成する適切な方法は何ですか?ネストされた配列を作成しますか?
答えて
だから...入れ子配列を作るのは問題ではありませんが、キー=>値型の配列を考えている場合は問題です。その場合はオブジェクトを使う必要がありますあなたが必要としている配列の場合と同じように、そのプロパティをforeachすることができます。あなたは(私はあなたがそう雑学学習ゲームをしたいとまったく同じものであってきた)配列の回答値を格納することができますが、常にオブジェクトを使用し、その
var userAnswer = 'something',
item = {
question: 'what is a?'
answers: [ 'a', 'b', 'c' ]
validAnswer: 0;
}
if(userAnswer === item.answers[validAnswer]) {
console.log("is valid");
}
いくつかの他の使用のような何かを行うことができます。
var userStats = {
status: 'alive',
makeDead: function() {
this.status = 'dead';
},
bringBackToLife: function() {
this.status = 'alive';
},
}
//then you can even do things like...
userStats.makeDead();
console.log(userStats); //user will be dead
userStats.bringBackToLife(); //user status will be alive
私はあなただけの質問や質問と回答の(ネストされた[[]])配列を維持するためのアレイで問題ないはずです意味、しかし、あなたは、配列のゲームをプレイし始めている[0](する必要があります質問正しい?)配列[3](無効な答えですか?)そして何?あなたのトリビアゲームが決して成長しないと思うならば、あなたはその解決策に固執するかもしれませんが、もしそれが進化するかもしれないと思うのであれば、オブジェクトを使って物事を整理してください。
更新 あなたがのが/いくつかの質問を含むレッスンを持って保存しましょうしたいならば、あなたは一つの大きなを持つことができても&は、(SOLID規則を調べる)「神のオブジェクトを作るいけない小さなあなたのオブジェクトを維持しよう小さなものの多くを含むオブジェクト、すなわち
//you can make object to store some data and functions
var LessonItem = function(question){
this.question = question;
this.answers = [];
this.addAnswer = function(answer){
this.answers.push(answer);
};
};
//you dont need the 'valid' part if there's always just one valid option
var question1 = new LessonItem('What is?');
question1.addAnswer({text: 'It is something', valid: true });
question1.addAnswer({text: 'It is something not', valid: false });
question1.addAnswer({text: 'It is something 3', valid: true });
//and this would be our 'big' object, i.e. to save in json file or whatever
var lesson = {
lesson_subject: 'something',
lesson_repeat: 3,
lesson_score: 124,
lesson_items: [
question1,
//question2
]
};
console.log(lesson);
しかし、ええ、あなたは「店の人に大きな「オブジェクト」を持っているが、それは時間との地獄になるだろう原因のすべてを管理する神のような一つの巨大なオブジェクトを作成しないようにすることができます:あなたはそれをやっている場合でも、私は確信していませんが、あなたはGoogle ChromeのツールコンソールであなたのJavaScriptに貼り付けることができますページをリロードせずに正常に動作しているかどうかを確認してください。(クイックチェックの場合:)
- 1. MySQLデータベースからネストされた配列を作成する
- 2. 既存の配列からネストされた配列を作成する
- 3. 各ループにネストされた多次元配列を作成しますか?
- 4. ネストされた配列を作成する方法
- 5. ネストされたJSON配列を作成する
- 6. PHPでネストされた配列を作成するには?
- 7. JavaScriptでネストされた配列を作成する
- 8. JavaScript:文字列からネストされた配列を作成する方法
- 9. ネストされたオブジェクトの配列を再帰的に再作成
- 10. Zend Framework:リスト配列からネストされた配列を作成できますか?
- 11. Javascript配列からネストしたオブジェクトを作成する
- 12. ネストされた配列/オブジェクトアクセス
- 13. は、ネストされた配列
- 14. JSONネストされた配列
- 15. CodeDomネストされた配列
- 16. json_decodeはネストされた配列を返しますか?
- 17. SQLネストされた選択のエイリアス列を作成しますか?
- 18. Rails - 親レコードとネストされたモデルレコードを作成しますか?
- 19. laravelセッションでネストされた配列を作成する方法は?
- 20. JavaScriptの文字列の配列に基づいてネストされた配列を作成するには?
- 21. ネストされたハッシュを繰り返して、アイテムを追加しながら配列を作成します。
- 22. MongoDBはネストされた配列にコメントを保存します
- 23. Mongo配列内のネストされたフィールドを照会します。
- 24. サブ配列 "nModified"でネストされた配列から削除:0
- 25. 入れネストされた配列
- 26. ネストされた配列をbigqueryにロード
- 27. ネストされたオブジェクトを配列
- 28. Pythonはネストされた配列をループ
- 29. knockout.mappingプラグインとknockoutjsで作成されたネストされたobservable配列に新しい値を追加
- 30. ネストされたメークファイルを作成する
「良い」と「適切な」はどちらも意見の問題です。質問:[質問:「果物は何ですか?」、答え:2、選択肢:[「ロック」、「紙」、「パイナップル」、「はさみ」のすべての質問を保持するオブジェクトの配列を使用します。 "]}、{質問:"どちらが色ですか? "、答え:1、選択肢:" ennui "、"緑 "、"うま味 "、"寒い "]}]'。 – nnnnnn
オハイオ州大丈夫、私もそれを使用することを考えていたので、私はそれを試してみます。ありがとうございました。 – skyeyl