function sum(numbers) { return numbers.reduce((previousValue, currentValue) => { return previousValue + currentValue; }, 0); } function mean(numbers) { return sum(numbers) / numbers.length; }
function minimum(values) { return values.reduce( (result, value) => { return result < value ? result : value; }, values[0] ); };
function maximum(values) { return values.reduce( (result, value) => { return result > value ? result : value; }, values[0] ); };
function mean(values) { return values.reduce( (result, value) => { return result + value; }, 0 ) / values.length; }
function median(values) { // Copy array before sort, since sorting is made "in place" and change the array for the caller let sorted = values.slice(0).sort( (a,b) => { return a - b; } ); let middle = Math.floor( sorted.length / 2 ); // if length is odd then return middle, else return average of two elements return sorted.length & 1 ? sorted[middle]: (sorted[middle] + sorted[middle - 1]) / 2; }
function isNumber(values) { return Array.isArray(values) && values.length && values.every( (value) => { return typeof value === 'number'; } ); }
function getStatistic(values) { return isNumber(values) ? { minimum : minimum(values), maximum : maximum(values), mean : mean(values), median : median(values) } : null; }
function isNumberFinite(values) { return Array.isArray(values) && values.length && values.every( (value) => { return typeof value === 'number' && isFinite(value); } ); }
function isNumberValid(values) { return Array.isArray(values) && values.length && values.every( (value) => { return typeof value === 'number' && !isNaN(value); } ); }
function minimum(values) { return values.reduce( (result, value) => { return result < value ? result : value; }, values[0] ); };
function maximum(values) { return values.reduce( (result, value) => { return result > value ? result : value; }, values[0] ); };
const numbers = [10, 20, 12, 5, 9, 17, 101];
Math.min(...numbers); // 5
Math.max(...numbers); // 101
let data=[]; for (let i=0; i < 1000000; i+=1) data[i] = 10; Math.min(...data);
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106