Here's what I did in Chrome's JavaScript console:

```
> var arr = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4];

> var foo = 3;

> arr.filter(function(value) { return value !== foo });
< [1, 2, 2, 4, 4, 4, 4]

> arr.filter(function(value) { return value !== foo }).push(foo);
< 8

> arr.filter(function(value) { return value !== foo }).push(3);
< 8

```

Where did this `8` come from?