이것이 작동하지 않는 이유를 알기 힘듭니다. 나는 지난 경우 문을 제거하고 단지 무조건 refP에 푸셔를 누르면이 코드로 인해 무한 루프가 발생하는 이유는 무엇입니까?
var refP = [];
var distance = function (p1, p2) {
return dist(p1.x, p1.y, p2.x, p2.y);
}
while (refP.length < 24) {
var pusher = {
x: -1,
y: -1,
closestRefP: 9999999
};
pusher.x = (random(0, 400));
pusher.y = (random(0, 400));
for (var d = 0; d < refP.length; d++) {
if (distance(pusher, refP[d]) < pusher.closestRefP) {
pusher.closestRefP = distance(pusher, refP[d]);
}
}
if (pusher.closestRefP > 2) {
refP[refP.length] = pusher;
}
}
그것은 나에게 루프를 제공하지 않습니다.
감사합니다. 그리고이 코드를 정리해야하는지 아니면 적은 코드로 문제를 격리하려고하는지 알려주세요.
예, 먼저 문제를 격리하고 시도해야합니다. 예를 들어,'pusher.closestRefP> 2'가 정말로 사실입니까? – Matt
그 마지막 refP if는 refp <24 그러므로 루프를 만듭니다. – JonathanRomer