Ich erstelle ein Quizspiel, das dem Benutzer 4 Antworten zur Auswahl gibt. Verwenden Sie ein Array, um die Frage und die Antwort zu einer guten Option für dieses Spiel hinzuzufügen? und wenn ja, was ist der richtige Weg, um ein verschachteltes Array zu erstellen.Erstellen Sie ein verschachteltes Array?
Antwort
Also ... in js ist es kein Problem, ein verschachteltes Array zu machen, aber es ist ein Problem, wenn Sie an Schlüssel => Werttyp des Arrays denken, in diesem Fall müssen Sie ein Objekt verwenden kann seine Eigenschaften wie mit Array tun, wenn Sie müssen. Sie können Antwortwerte in Array speichern (ich habe es mit genau der gleichen Sache, die Sie so Trivia Lernspiel tun wollen), aber man kann immer Objekte verwenden und
var userAnswer = 'something',
item = {
question: 'what is a?'
answers: [ 'a', 'b', 'c' ]
validAnswer: 0;
}
if(userAnswer === item.answers[validAnswer]) {
console.log("is valid");
}
eine andere Nutzung, wie die etwas tun:
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
ich meine, man sollte für die Aufbewahrung nur Frage oder Frage (verschachtelt [[]]) Array von Antworten mit Array in Ordnung sein, aber dann sind Sie beginnen Spiel Array spielen [0] (sollte Frage richtig?) Array [3] (sollte ungültige Antwort sein?) und was dann? Wenn du immer noch denkst, dass dein Trivia-Spiel niemals wachsen wird, dann bleibst du vielleicht bei dieser Lösung, aber wenn du denkst, dass es sich jemals entwickeln könnte, benutze einfach Objekte, um die Dinge organisiert zu halten.
Update Versuchen Sie, Ihre Objekte zu halten kleine & nicht ‚Gott‘ Objekte machen (aufblicken SOLID-Regeln), aber wenn Sie lassen wollen sagen, speichern/eine Lektion habe einige Fragen enthalten, dann könnten Sie eine haben große Objekt viele kleine enthalten, dh
//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);
aber ja, können Sie große ‚Objekt‘ auf ‚Store‘ andere haben, aber vermeiden Sie Gott-wie eine große Objekte zu schaffen alles Verwaltung weil es die Hölle mit der Zeit geworden : D auch bin ich nicht sicher, ob Sie das tun, aber Sie können in Ihrem Javascript in Google Chrome Tools Konsole einfügen und prüfen Sie, ob es richtig funktioniert, ohne Seite neu zu laden ... (für schnelle Kontrollen :))
Vielen Dank, ich werde Objekte verwenden, denn ich mag meine Sachen organisiert und wenn ich den Code in Zukunft ändern oder erneut verwenden möchte, habe ich diese Struktur, um zurück zu gehen. Auch wenn ich 8 Fragen mit 4 Antwortmöglichkeiten für jede Frage habe. Sollte ich 8 verschiedene Objekte oder ein großes Objekt für alle haben? Danke für Ihre Hilfe. – skyeyl
Ich werde, vielen Dank. Ich schätze Ihre Hilfe. – skyeyl
- 1. ein verschachteltes Array in ein verschachteltes Array schieben angularjs
- 2. Wie erstellen Sie ein verschachteltes, kollabierendes Menü mit Angular Material2?
- 3. Erstellen Sie rekursiv ein verschachteltes Wörterbuch aus der Zeichenfolge
- 4. Erstellen Sie ein verschachteltes Wörterbuch in Shell-Skript
- 5. Generieren Sie ein verschachteltes JSON-Array in JBuilder
- 6. Sequelize enthält erstellen ein verschachteltes Objekt
- 7. Schieben Sie verschachteltes Objekt in Array
- 8. Erstellen Sie ein Fraction Array
- 9. Erstellen Sie ein neues Array
- 10. erstellen Sie ein multidimensionales Array
- 11. Iteration verschachteltes assoziatives Array
- 12. Ein verschachteltes Gridview-Beispiel
- 13. So legen Sie einen Array-Wert in ein verschachteltes Array ein
- 14. Verschachteltes Array Dokument
- 15. PHP entfernen nutzlose verschachteltes Array
- 16. Ruby: Überprüfen, ob verschachteltes Array Array enthält
- 17. Wie kann ich ein Array in ein verschachteltes Array aufteilen, indem ich jedes Element aufspalte?
- 18. Sortieren Sie ein verschachteltes Wörterbuch in Python
- 19. PHP verschachteltes Array in flache Array konvertieren
- 20. Wie erstellt man ein mehrdimensionales verschachteltes Array in PHP/CodeIgniter?
- 21. Android, erreichen Sie ein verschachteltes View-System wie ein Dateimanager?
- 22. Returning Postgres Verschachteltes JSON-Array
- 23. Knockout.JS foreach verschachteltes JSON-Array
- 24. Erstellen Sie ein Objekt und setzen Sie ein Array
- 25. Wie ein verschachteltes Modell in Kendo-mvvm erstellen
- 26. So erstellen Sie ein MultiPolygon in Cäsium
- 27. So erstellen Sie ein Array von Nachrichtentyp
- 28. Erstellen Sie ein Array mit Zweig
- 29. Erstellen Sie ein Array aus Kontrollkästchen
- 30. Erstellen Sie ein Array verschachtelter Objekte rekursiv
"Gut" und "richtig" sind beide eine Frage der Meinung. Ich würde ein Array von Objekten verwenden, um alle Fragen zu halten: 'Fragen = [{Frage:" Was ist eine Frucht? ", Antwort: 2, Auswahlmöglichkeiten: [" Rock "," Papier "," Ananas "," Schere "]}, {Frage:" Was ist eine Farbe? ", Antwort: 1, Auswahlmöglichkeiten: [" ennui "," grün "," umami "," kalt "]}]'. – nnnnnn
ohh okay, ich habe darüber nachgedacht, das auch zu benutzen, also werde ich das ausprobieren. Vielen Dank. – skyeyl