Решение сортировкой. В результате пользователю просто отдаем первый (нулевой) элемент массива.
Идею нужно развить до нескольких чекбоксов, ничего сложного.
var selected = 'value2'; // Вместо чекбокса, суммироваться будет значение value1 и значение указанного в данной переменной свойства объекта.
var data = [
{id: 1, value1: 1, value2: 23, value3: 1},
{id: 2, value1: 3, value2: 3, value3: 2},
{id: 3, value1: 1, value2: 6, value3: 4},
{id: 4, value1: 23, value2: 8, value3: 67}
];
data.sort(function (x, y) {
return x.value1 - y.value1 + x[selected] - y[selected];
});
var i;
for (i = 0; i < data.length; i++) {
document.write("<p>id: " + data[i].id + " sum of value1 and " + selected + ": " + (data[i].value1 + data[i][selected]) + "</p>");
}
jsfiddle.net/n04878oj