Some times when I call methods of this object I got "Oops" error because "i" refers to unexisted attribute. How its possible?
m.derp();
m.herp(); // Sometimes throws error
Methods:
this.movements = new Array();
this.herp = function() {
    for (var i in this.movements) {
        if (!(this.movements[i] instanceof Movement)) {
            throw new Error("Oops"); // this.movements[i] is undefined
        }
    }
}
this.derp = function() {
    var newArray = new Array();
    for (var i in this.movements) {
        if (!this.movements[i].isFinished()) {
            newArray.push(this.movements[i]);
        }
    }
    this.movements = newArray;
}
 
     
     
    