#javascript
#javascript
Вопрос:
Как мы можем получить наименьшее значение из массива объектов?
const arr = [
objTemp1 = {value: 10},
objTemp2 = { value: 1},
objTemp3 ={value: 40}
]
function smalels(...obj) => obj.reduce(initial_value, value){
if (initial_value < value)
return initial_value
else
return value } )
где я делаю ошибку?
Комментарии:
1. где ваш массив? что вы пробовали? что не работает?
Ответ №1:
Имея массив объектов, вы можете напрямую уменьшить этот массив и вернуть объект с наименьшим значением.
const
array = [{ value: 10 }, { value: 1 }, { value: 100 }],
result = array.reduce((a, b) => a.value < b.value ? a : b);
console.log(result);
Ответ №2:
@Дерек.W ответил на это действительно хорошо. Мое решение тоже такое же.
objTemp1 = {
value: 10,
};
objTemp2 = {
value: 1,
};
objTemp3 = {
value: 100,
};
var allObj = [objTemp1,objTemp2,objTemp3]; //I took all the objects in an array
var smallestObj = allObj.reduce((prev,currentValue)=>{
return prev.value <= currentValue.value ? prev : currentValue;
});
Ответ №3:
Вы можете получить минимальный объект, используя Array.reduce
следующее.
const objTemp1 = {
value: 10,
};
const objTemp2 = {
value: 1,
};
const objTemp3 = {
value: 100,
}
function smallest() {
return Object.values(arguments).reduce((acc, cur) => {
return (acc amp;amp; acc.value < cur.value) ? acc : cur;
}, null);
}
console.log(smallest(objTemp1, objTemp2, objTemp3));
Комментарии:
1. Просто пропустите третий параметр вместо сравнения с
null
. Это однострочный.