bizzare undefined variable
===

I have a multi-dimensional array containing objects, and I wish to remove objects from the array if they contain a specific property.

**COFFEESCRIPT**

	for dataColumn in allDataColumns
		for brentSpiner, i in dataColumn
			console.log i, brentSpiner.refreshRate
			#dataColumn.remove i if brentSpiner.refreshRate is -1
the above `console.log` works as expected when the line bellow is commented out

	for dataColumn in allDataColumns
		for brentSpiner, i in dataColumn
			console.log i, brentSpiner.refreshRate
			dataColumn.remove i if brentSpiner.refreshRate is -1
the above errors out like so: `brentSpiner is undefined console.log(i, brentSpiner.refreshRate);` in firebug

how on earth could the presence of the second line cause the variable in the above line to become undefined? 

**RENDERED JAVASCRIPT**

Fails

    for (_i = 0, _len = allDataColumns.length; _i < _len; _i++) {
      dataColumn = allDataColumns[_i];
      for (i = _j = 0, _len1 = dataColumn.length; _j < _len1; i = ++_j) {
        brentSpiner = dataColumn[i];
        console.log(i, brentSpiner.refreshRate);
        if (brentSpiner.refreshRate === -1) {
          dataColumn.remove(i);
        }
      }
    }

Works

    for (_i = 0, _len = allDataColumns.length; _i < _len; _i++) {
      dataColumn = allDataColumns[_i];
      for (i = _j = 0, _len1 = dataColumn.length; _j < _len1; i = ++_j) {
        brentSpiner = dataColumn[i];
        console.log(i, brentSpiner.refreshRate);
      }
    }

(side note: .remove has been added to the Array prototype via Resig)