Dans un système de réponse aux questions en ligne, les questions ont généralement des structures complexes, qui peuvent inclure des sous-questions et des questions supplémentaires en plus des principales questions. Pour répondre à ces besoins, cet article expliquera comment utiliser le code JavaScript pour implémenter cette fonctionnalité.
Premièrement, nous devons définir un objet de question pour représenter le contenu de chaque question et ses options, réponses, ainsi que des sous-questions et des questions supplémentaires. Nous pouvons créer un objet de sujet via un constructeur et définir des propriétés pour lui.
function Question(content, options, answer) {
this.content = content;
this.options = options;
this.answer = answer;
this.subQuestions = []; // Tableau de sous-questionnaire
this.supplementQuestions = []; // Tableau de questions supplémentaires
}
Ensuite, nous ajoutons deux méthodes à l'objet Sujet: l'un pour ajouter des sous-questions et l'autre pour ajouter des questions supplémentaires. De cette façon, nous pouvons associer de manière flexible des sous-questions et des questions supplémentaires avec des sujets.
Question.prototype.addSubQuestion = function(subQuestion) {
this.subQuestions.push(subQuestion);
};
Question.prototype.addSupplementQuestion = function(supplementQuestion) {
this.supplementQuestions.push(supplementQuestion);
};
Nous pouvons créer un objet de question basé sur le constructeur défini et ajouter des sous-questions et des questions supplémentaires via les fonctions correspondantes. Voici un exemple de code de la façon d'implémenter ce processus:
var mainQuestion = new Question("Contenu du sujet", ["OptionsA", "OptionsB", "OptionsC"], "RépondreA");
var subQuestion1 = new Question("Sous-topique1Contenu", ["OptionsA", "OptionsB"], "RépondreB");
var subQuestion2 = new Question("Sous-topique2Contenu", ["OptionsC"], "RépondreC");
mainQuestion.addSubQuestion(subQuestion1);
mainQuestion.addSubQuestion(subQuestion2);
var supplementQuestion1 = new Question("Sujets supplémentaires1Contenu", ["OptionsA", "OptionsB", "OptionsC"], "RépondreB");
var supplementQuestion2 = new Question("Sujets supplémentaires2Contenu", ["OptionsC"], "RépondreC");
mainQuestion.addSupplementQuestion(supplementQuestion1);
mainQuestion.addSupplementQuestion(supplementQuestion2);
Grâce aux exemples de code ci-dessus, nous avons réussi à implémenter la fonction d'ajouter des sous-questions et des questions supplémentaires dans le système de réponse en ligne. Cette implémentation rend non seulement la structure du problème plus claire, mais permet également une expansion et une maintenance faciles. De plus, l'objet de question peut interagir avec la base de données backend pour réaliser le stockage et l'acquisition des données. Selon les propriétés de l'objet de question, nous pouvons également rendre la page de manière flexible pour présenter un formulaire de question riche.
De cette façon, notre système de répondeur en ligne peut prendre en charge les structures de questions plus complexes et améliorer l'expérience utilisateur.