Tengo este formulario con el que puedes crear una matriz. No quiero que se cree el formulario cuando hay algunas circunstancias específicas. Tengo esta matriz y en ella puedes crear preguntas y respuestas con un formulario, pero tengo algunas reglas. La matriz solo se puede crear cuando hay más de 3 preguntas y cuando cada pregunta tiene al menos 3 respuestas.
Mi código:
Checker() { /** * @type {Question[]} */ let questions = NewArray.structure.questions; for (let i = 0; i < questions.length; i++) { if (questions[i].answers.length <= 2) { console.log(questions[i]) alert('Question number ' + i + ' has to few answers') } else if (questions.length <= 2) { alert('You need at least 3 questions!'); } else { return true; } } } if (NewArray.Checker() === true) { Do something } else { Do nothing }Aquí está la matriz de preguntas con las preguntas y las preguntas [i]. responde las respuestas de las preguntas.
Cuando me da el mensaje correcto cuando hay menos de 3 preguntas y cuando la primera pregunta tenía menos de 3 respuestas, pero cuando hay 3 preguntas y solo la primera tiene respuestas, todavía funciona lo que no debería. ¿Alguien sabe por qué?
Estructura
class Question { /** * @param {string} question * @param {string} prefix * @param {string} description * @param {string} display * @param {string} answerType * @param {string} multiSelect * @param {Answer[]} answers */ constructor(question = "", prefix = "", description = "", display = "", answerType = "", multiSelect = "", answers = []) { this.question = question; this.prefix = prefix; this.description = description; this.display = display; this.answerType = answerType; this.multiSelect = multiSelect; this.answers = answers; } } class Answer { constructor(id = "", name = "") { this.id = id; this.name = name; } }