Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск максимального числа в объекте (https://javascript.ru/forum/misc/81377-poisk-maksimalnogo-chisla-v-obekte.html)

AleBa 16.11.2020 22:31

Поиск максимального числа в объекте
 
Добрый день.

Есть такой объект
const obj = {
  '6': '112',
  '20': '51',
  '22': '78',
  '26': '34',
  '32': '22',
  '35': '358',
}

Подскажите как его можно отфильтровать по максимальному числу в значении, чтобы на выходе получилось '35': '358'

Спасибо

Nexus 16.11.2020 22:50

var keyValuePairs = {
    '6': '112',
    '20': '51',
    '22': '78',
    '26': '34',
    '32': '22',
    '35': '358',
};

var result = Object.keys(keyValuePairs)
    .map(key => ({
        key,
        value: keyValuePairs[key]
    }))
    .sort((a, b) => b.value - a.value)
    .slice(0, 1)
    .reduce((res, item) => {
        res[item.key] = item.value;

        return res;
    }, {});

alert(JSON.stringify(result));

рони 16.11.2020 23:16

AleBa,
const obj = {
  '6': '112',
  '20': '51',
  '22': '78',
  '26': '34',
  '32': '22',
  '35': '358',
}
const objMax = obj => Object.fromEntries([Object.entries(obj).reduce(([_, max], [key, value]) => +max < +value ? [key, value] : [_, max])]);

console.log(objMax(obj))


Часовой пояс GMT +3, время: 13:52.