У меня есть программа Node JS, где мне нужно назначить «приоритет» для разных объектов на основе их значений ЦП. Поэтому я храню все объекты в массиве и сортирую этот массив на основе увеличения значений ЦП.Назначение значения приоритета для объектов в массиве
Мой массив выглядит следующим образом (значения CPU постоянно меняются):
var lowerThan95 = [{
'myname': 'abc',
'CPU': 10
}, {
'myname': 'gfd',
'CPU': 45
}, {
'myname': 'vfd',
'CPU': 100
}, {
'myname': 'bvf',
'CPU': 80
}]
Таким образом, низкое значение CPU должен иметь приоритет 1, второй самый низкий приоритет 2 и т.д. Мои мысли добавить в атрибут «priority», а затем просматривайте каждый элемент в массиве и каждый раз добавляйте его к приоритету. Как я могу это достичь?
Это то, что я пытался до сих пор:
// sorts the array based on ascending cpu values
lowerThan95.sort(function(a, b) {
return parseFloat(a.CPU) - parseFloat(b.CPU);
});
// what do I do here?
lowerThan95.forEach(function(value) {
var priority = priority + 1
console.log('pr', priority)
});
Является ли это правильный подход? Есть лучший способ сделать это? Любая помощь/советы будут оценены.
Действительно ли вам нужен приоритет на объекте? Если он отсортирован, приоритетом всегда является 'length-index' – tymeJV
В вашем случае' priority == index', поэтому вам нужен только индекс элемента в массиве, чтобы иметь приоритет – MysterX
Как уже отмечалось, вам фактически не нужен приоритет , Однако ваша сортировка не работает. Откуда возникает «average_cpu»? – Connum