Попытка дублирования функции расщепления Agar, но когда я ее назову, максимальный размер стека вызовов превышен. (JSFiddle) [Примечание: не нажимайте на холст, потому что будет вызывать функцию разделения)Максимальный размер стека вызовов превышен при сплите
Это фрагмент кода, который вызывает переполнение:
this.cells.push({
coords: {
x: this.cells[i].coords.x + 50,
y: this.cells[i].coords.y
},
mass: this.mass,
velocity: {
x: this.cells[i].velocity.x,
y: this.cells[i].velocity.y
},
hue: this.cells[i].hue
});
Это только происходит, когда я нажимаю что-то в this.cells. Модифицирование this.cells любым другим способом или нажатие на другие массивы или что-то еще отлично работает. Обратите внимание, что нажатие на this.cells за пределами цикла for в настоящий момент работает нормально. (не дает желаемого эффекта, но не вызывает переполнения, как текущий)
Почему это вызывает переполнение и как я могу предотвратить его и заставить функцию split работать правильно?
Не добавлять вещи к 'array' в том, что for loop, если вы используете 'for (var i = 0; i
fuyushimoya