I do this:
function getMaxOfArray(numArray) { return Math.max.apply(null, numArray); } function getMinOfArray(numArray) { return Math.min.apply(null, numArray); } function squareSum(numbers){ return numbers.reduce(function(sum, n){ var a = (getMaxOfArray(numbers) - getMinOfArray(numbers)); var b = n + sum; return a - b; }, 0) } console.log(squareSum([1,2,2,33])); UPD Correct solution:
function getMaxOfArray(numArray) { return Math.max.apply(null, numArray); } function getMinOfArray(numArray) { return Math.min.apply(null, numArray); } function sumArray(numbers){ var maxPlusMin = getMaxOfArray(numbers) + getMinOfArray(numbers); return numbers.reduce(function(sum, n){ return n + sum; }, -maxPlusMin ); } console.log(sumArray([1,5,5,101]));
numbers.reduce(function(sum, n){ return n + sum;}, -getMaxOfArray(numbers) - getMinOfArray(numbers));- Sergey