온라인 질문 응답 시스템에서 질문에는 일반적으로 복잡한 구조가 있으며, 여기에는 주요 질문 외에 하위 질문 및 보충 질문이 포함될 수 있습니다. 이러한 요구를 충족시키기 위해이 기사는 JavaScript 코드를 사용 하여이 기능을 구현하는 방법을 설명합니다.
먼저, 각 질문의 내용과 관련 옵션, 답변, 하위 질문 및 보충 질문을 나타내는 질문 객체를 정의해야합니다. 생성자를 통해 주제 객체를 생성하고 속성을 정의 할 수 있습니다.
function Question(content, options, answer) {
this.content = content;
this.options = options;
this.answer = answer;
this.subQuestions = []; // 하위 질문 배열
this.supplementQuestions = []; // 보충 질문 배열
}
다음으로, 우리는 주제 객체에 두 가지 방법을 추가합니다. 하나는 하위 질문을 추가하고 다른 하나는 보충 질문을 추가하기위한 것입니다. 이런 식으로, 우리는 하위 질문과 보충 질문을 주제와 유연하게 연관시킬 수 있습니다.
Question.prototype.addSubQuestion = function(subQuestion) {
this.subQuestions.push(subQuestion);
};
Question.prototype.addSupplementQuestion = function(supplementQuestion) {
this.supplementQuestions.push(supplementQuestion);
};
정의 된 생성자를 기반으로 질문 객체를 만들고 해당 기능을 통해 하위 질문 및 보충 질문을 추가 할 수 있습니다. 다음은이 프로세스를 구현하는 방법의 코드 예입니다.
var mainQuestion = new Question("주제 내용", ["옵션A", "옵션B", "옵션C"], "답변A");
var subQuestion1 = new Question("하위 주제1내용물", ["옵션A", "옵션B"], "답변B");
var subQuestion2 = new Question("하위 주제2내용물", ["옵션C"], "답변C");
mainQuestion.addSubQuestion(subQuestion1);
mainQuestion.addSubQuestion(subQuestion2);
var supplementQuestion1 = new Question("보충 주제1내용물", ["옵션A", "옵션B", "옵션C"], "답변B");
var supplementQuestion2 = new Question("보충 주제2내용물", ["옵션C"], "답변C");
mainQuestion.addSupplementQuestion(supplementQuestion1);
mainQuestion.addSupplementQuestion(supplementQuestion2);
위의 코드 예제를 통해 온라인 응답 시스템에서 하위 질문 및 추가 질문을 추가하는 기능을 성공적으로 구현했습니다. 이 구현은 문제 구조를 더 명확하게 만들뿐만 아니라 쉽게 확장 및 유지 보수를 가능하게합니다. 또한 질문 객체는 백엔드 데이터베이스와 상호 작용하여 데이터 저장 및 획득을 실현할 수 있습니다. 질문 객체의 속성에 따르면, 우리는 페이지를 유연하게 렌더링하여 풍부한 질문 양식을 제시 할 수 있습니다.
이러한 방식으로 온라인 응답 시스템은보다 복잡한 질문 구조를 지원하고 사용자 경험을 향상시킬 수 있습니다.