# Understanding Array.prototype.every()

So I am trying to understanding the every method.

I wrote the following and it keeps bringing back “false,” but I believe it should be “true.”

let array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

let result = array.every((element, i, arr) => element < arr[i + 1])
console.log(result)

I’m assuming I’m doing something super stupid. Just wondering what it is?

Edit: Thank everyone that took the time to reply. I appreciate it!

10 is not less than NaN. When i is 9, `arr[i + 1]` is undefined, which is treated as NaN when comparing to a number using `<`

Array.every() only returns true if every item in the array returns true else it returns false

``````let arrayOfNumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] //
const isLessThanFive = (i) => i < 5 // returns type boolean

let boolArray = arrayOfNumbers.map( isLessThanFive ) // returns array with 4 true and 6 false
let isTrueForAll = arrayOfNumbers.every( isLessThanFive ) // uses each item in array as a function argument

console.log(isTrueForAll) // returns false because only 4 items return true
``````

maybe you wanted to use `map` ? `forEach` just return `undefined`

yup youre right
`map` creates a new array
`forEach` only executes function on each item. doesnt return new array
i honestly thought they were basically the same