In Typescript (ES6), I have a queue running on an interval of 1 ms and I want to know which approach is better practice for performance.

1.

```
setInterval(() => {
  //if (this._queue.filter(a => !a.running && a.cbs.length) { // incorrect
  if (this._queue.filter(a => !a.running && a.cbs.length).length) { //edit
    for (let i = 0; i < this._queue.filter(a => !a.running && a.cbs.length).length; i++) {
      ...
    }
  }
}, 1);

```

2. 

```
setInterval(() => {
  for (let i = 0; i < this._queue.filter(a => !a.running && a.cbs.length).length; i++) {
    ...
  }
}, 1);

```

In approach #1, it obviously has an extra line of code, but I am pretty sure the if would take less CPU computation on each iteration of interval. Is this correct?

In approach #2, it has to define i and then run the filter and then attempt to iterate.

This may be such a low difference in performance it may not matter, but I am interested nonetheless.