My question is pretty simple actually but I couldnt find satisfied answer
var ages = [3, undefined, undefined, 20];
lets say that I have array like above.And I wanna get the max value in array which is 20.
Math.max.apply(Math,ages)
this is what I did but returned undefined so I tried something like that below and worked
Math.max.apply(Math, ages.filter(e=>e!=undefined))
but filtering all undefined elements(iterating all) and then finding biggest element is big cost.I need something built-in js function such as Math.max.apply which can skip undefined elements and find the biggest value from array.
Advertisement
Answer
As far as I understand your question, I would like to answer it.
I have an idea to do this.
var values = [3, undefined, 5, 6, 4, undefined, 20]; values.sort(); console.log(values[0]);
This results me with max value – 20.
EDIT:
Now this can work on negative values too.
var values = [3, undefined, 5, 6, 4, undefined, 20]; values.sort((a,b) => b-a); console.log(values[0]);