Это немного простая на первый взгляд задача с поиском минимальных / максимальных значений в Object, стала для меня проблемой.
У меня есть следующий объект (с 3 фиксированными ключами):
let object_ = {
vendor: 5, //(Number),
market: 2, //(Number)
derivative: {
price: 15 //(Number)
}
}
И я пытаюсь найти не только минимальное / максимальное значение, но и вернуть его как объект / изменить исходное, которое должно выглядеть так:
результат для min
: // как объект
{ market: 2}
результат для max
: // как объект
derivative: {
price: 15 //(Number)
}
На данный момент у меня есть следующий код, который решает эту проблему, создавая Массив из исходных свойств объекта (вручную проверяя имя каждого свойства), например:
/** Create an array of objects from object_*/
let array = [
{market: 2},
{vendor: 5},
{derivative: 15}
]
/** Find the necessary values in array with map and reduce*/
И затем поиск минимальных / максимальных значений для всех объектов внутри массива, но проблема в том, что я должен преобразовать результат моего кода вернемся к исходной схеме, например:
if (resultObject.property === 'derivative') {
resultObject.derivative = {
price: resultObject.derivative //15
}
}
Итак, вопрос:
Я на правильном пути, должен ли я создать Array of objects
для этого случая? Потому что для меня важно возвращать не только само число, но и настраиваемое свойство с именем.
Может быть, у кого-то есть более лучшее / более короткое решение с синтаксисом ES6 или изменение исходного объекта со свойствами delete
не min (or max)
. Или можете указать мне путь к нему?