Перейти к основному содержимому

Пример - подсчет результатов по группам вопросов

Пример используется для определения преобладающей стратегии поведения в конфликте.

Код алгоритма​

var keyConfig = {};
keyConfig["A"] = {"name": "Сотрудничество", "questions": [1, 4, 5, 12], "summ": 0};
keyConfig["B"] = {"name": "Компромисс", "questions": [7, 14, 15, 20], "summ": 0};
keyConfig["C"] = {"name": "Уход", "questions": [3, 6, 16, 17], "summ": 0};
keyConfig["D"] = {"name": "Доминирование", "questions": [8, 9, 18, 21], "summ": 0};
keyConfig["E"] = {"name": "Уступки", "questions": [2, 10, 13, 19], "summ": 0};

var widthConfig = [];
widthConfig[5] = 1;
widthConfig[4] = 2;
widthConfig[3] = 3;
widthConfig[2] = 4;
widthConfig[1] = 5;

// Суммируем результат по каждому ключу
for (var i = 0; i < testingTemplateInfo.getQuestions().size(); i++) {
var question = testingTemplateInfo.getQuestions().get(i);
for (var key in keyConfig) {
if (keyConfig[key].questions.indexOf(question.position) >= 0) {
keyConfig[key].summ += widthConfig[parseInt(question.appraisal, 10)];
}
}
}

// Формируем строковый результат
var testResult = "";
for (var key in keyConfig){
testResult += keyConfig[key].name + ": " + keyConfig[key].summ + "\n";
}

// Формируем результат
var result = {
"appraisal": 0.0,
"verificationInfo": testResult
};
result;