Как через Math.min.apply получить минимальное значение кроме нуля?
Как получить минимальное значение не 0, а 4 ?
То есть нужно минимальное значение кроме нуля
let obj = {
0: 124,
1: 4,
2: 14,
3: 0,
4: 32,
5: 78,
};
let all = Object.keys(obj).map(function(key){ return obj[key]; });
let min = Math.min.apply(null, all);
let max = Math.max.apply(null, all);
console.log(min, max);
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
так используйте filter и уберите нули
let obj = {
0: 124,
1: 4,
2: 14,
3: 0,
4: 32,
5: 78,
};
let all = Object.keys(obj).map(key => obj[key]).filter(key => key != 0);
let min = Math.min.apply(null, all);
let max = Math.max.apply(null, all);
console.log(min, max);
Ну и изврата, если хочется решить только с помощью mapЖ
let obj = {
0: 124,
1: 4,
2: 14,
3: 0,
4: 32,
5: 78,
};
let min = Math.min(...Object.values(obj).map(value => value ? value : (Math.min(...Object.values(obj)) ? Math.min(...Object.values(obj)) : Math.max(...Object.values(obj)))))
let max = Math.max(...Object.values(obj).map(value => value ? value : (Math.max(...Object.values(obj)) ? Math.max(...Object.values(obj)) : Math.min(...Object.values(obj)))))
console.log(min, max)