https://toster.ru/q/457956

title

JavaScript

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>");
}