我需要进行测验。有4个选项。如果答案A,B,С或В的出现次数超过5次,则结果为“更多A”,依此类推。如果A + B的总和为6或更大,则结果为“更多A + B”,依此类推。我不确定为什么计数有问题,为什么计数A是70?这是quiz
的链接"use strict";
window.onload = function() {
var quiz = {
title: 'Test',
questions: [{
text: "В свободное время ты предпочитаешь:",
responses: [{
text: 'рисовать',
value: 'artist'
},
{
text: 'лепить',
value: 'varchitetor'
},
{
text: 'читать книги, смотреть телевизор (интернет)',
value: 'designer'
},
{
text: 'ничего из вышеперечисленного',
value: 'other'
}
]
},
{
text: "Твои любимые школьные предметы",
responses: [{
text: 'литература, биология',
value: 'artist'
},
{
text: 'математика, история',
value: 'varchitetor'
},
{
text: 'география, музыка',
value: 'designer'
},
{
text: 'ничего из вышеперечисленного',
value: 'other'
}
]
},
{
text: "Какие мультфильмы тебе нравятся?",
responses: [{
text: 'советские (российские)',
value: 'artist'
},
{
text: 'американские',
value: 'varchitetor'
},
{
text: 'японские',
value: 'designer'
},
{
text: 'любые',
value: 'other'
}
]
},
{
text: "Выбери набор цветов, который больше импонирует",
responses: [{
text: 'лиловый, лавандовый, апельсиновый',
value: 'artist'
},
{
text: 'белый, черный, серый',
value: 'varchitetor'
},
{
text: 'красный, зеленый, синий',
value: 'designer'
},
{
text: 'сложно сказать',
value: 'other'
}
]
},
{
text: "Какая из геометрических фигур тебе нравится:",
responses: [{
text: 'объемный шар',
value: 'artist'
},
{
text: 'куб',
value: 'varchitetor'
},
{
text: 'зигзаг',
value: 'designer'
},
{
text: 'я бы выбрал другую',
value: 'other'
}
]
},
{
text: "Если бы ты играл(а) в футбол – какую роль бы ты выбрал(а):",
responses: [{
text: 'вратарь',
value: 'artist'
},
{
text: 'нападающий',
value: 'varchitetor'
},
{
text: 'тренер',
value: 'designer'
},
{
text: 'сложно сказать',
value: 'other'
}
]
},
{
text: "Выбери понравившегося представителя животного мира",
responses: [{
text: 'белая пушистая болонка',
value: 'artist'
},
{
text: 'большой красно-синий попугай',
value: 'varchitetor'
},
{
text: 'лысая кошка сфинкс',
value: 'designer'
},
{
text: 'дельфин',
value: 'other'
}
]
},
{
text: "Кто из героев сказки «Колобок» тебе больше импонирует:",
responses: [{
text: 'Колобок',
value: 'artist'
},
{
text: 'лиса',
value: 'varchitetor'
},
{
text: 'дедушка с бабушкой',
value: 'designer'
},
{
text: 'другие животные из сказки',
value: 'other'
}
]
},
{
text: "В каком классе ты сейчас учишься?",
responses: [{
text: '5 класс',
value: 'artist'
},
{
text: '6 класс',
value: 'varchitetor'
},
{
text: '7 класс',
value: 'designer'
},
{
text: '8 класс и старше',
value: 'other'
}
]
},
]
};
var countA = 0;
var countB = 0;
var countC = 0;
var countD = 0;
var qi = 0;
var app = new Vue({
el: '#app',
data: {
quiz: quiz,
questionIndex: 0,
userResponses: Array()
},
methods: {
// Go to next question
next: function() {
if (this.userResponses.length != qi) {
this.questionIndex++;
console.log(this.userResponses);
qi++;
} else console.log('fffff');
},
// Go to previous question
prev: function() {
this.questionIndex--;
},
score: function() {
//find the highest occurence in responses
var modeMap = {};
var maxEl = this.userResponses[0],
maxCount = 1;
for (var i = 0; i < this.userResponses.length; i++) {
var el = this.userResponses[i];
if (el == 'artist') countA++;
else if (el == 'varchitetor') countB++;
else if (el == 'designer') countC++;
else if (el == 'other') countD++;
if (modeMap[el] == null)
modeMap[el] = 1;
else
modeMap[el]++;
if (modeMap[el] > maxCount) {
maxEl = el;
maxCount = modeMap[el];
}
}
if (countA >= 5) {
return `More A ` + countA + countB + countC + countD;
} else if (countB >= 5) {
return 'More B'
} else if (countC >= 5) {
return 'More C'
} else if (countD >= 5) {
return 'More D'
} else if (countA + countB >= 6) {
return 'More A+B'
} else if (countA + countC >= 6) {
return 'More A+C'
} else if (countA + countD >= 6) {
return 'More A+D'
} else if (countB + countC >= 6) {
return 'More B+C'
} else if (countB + countD >= 6) {
return 'More B+D'
} else if (countC + countD >= 6) {
return 'More C+D'
} else {
return 'Divergent' + countA + countB + countC + countD
}
}
}
});
}