Why isn’t my code working? Math.max isn’t returning anything.

```
function largestOfFour(arr) {
var newArray = {}
// You can do this!
for (x = 0 ; x < arr.length;x++){
Math.max.apply(Math, arr[x])
}
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
```

TIA,

Gabriel

Try Math.max.apply(null, arr[x])

As lorepieri points out, that is the way to get it to work, as for the reason why…

Math.max() accepts a list of values, like:

`var a = Math.max(12, 6, 18, 5);`

But in your code, you’re not sending it a list of values, you’re sending it *an array* of values. That is a *big* difference.

So, that raises the question: How do you get Math.max() to work with an array? Just do what lorepieri says. Yes, the first argument is *null* - don’t let it bother you, the *why* of that isn’t important at your level.

The documentation explains it pretty well, including using the spread operator (es2015)

1 Like

Wow, that spread operator makes it easier, for sure!