【发布时间】:2016-02-09 16:23:41
【问题描述】:
我很想得到 hillArray[i][0]) 和 hillArray[i+1][0]) 之间的距离。 我确实意识到,当循环到达最后一次交互时,点 hillArray[i+1][0]) 将无效。我不确定如何解决这个问题。
这是我生成积分的代码
function randomMap(numOfHills){
hillArray.push([ xMap*0,yMap]);
for(var i=0; i<numOfHills; i++){
xRandomForHills = Math.floor((Math.random() * 1000));
if(xRandomForHills >= 950){
xRandomForHills = xRandomForHills - 10;
}
if(xRandomForHills <= 50){
xRandomForHills = xRandomForHills + 10;
}
yRandomForHills = Math.floor((Math.random() * 300));
if(yRandomForHills <= 10){
yRandomForHills = yRandomForHills + 30;
}
hillArray.push([xRandomForHills,yRandomForHills]);
}
hillArray.push([xMap,yMap]);
sortArray(numOfHills);
};
这是我跟踪距离的代码。 [i+1] 是错误的,或者至少我认为是。
function baseDist(){
baseDist = [];
var xDistanceCheck;
var yDistanceCheck;
var distance = 0;
for(var i=0;i<=hillArray.length;i++){
FIRST C-A
console.log("_________________________________");
xDistanceCheck = hillArray[i][0]) - (hillArray[i][0]);
xDistanceCheck = xDistanceCheck * xDistanceCheck;
yDistanceCheck = hillArray[i][1] - (hillArray[i][1]);
yDistanceCheck = yDistanceCheck * yDistanceCheck;
distance = Math.floor(Math.sqrt(xDistanceCheck + yDistanceCheck));
baseDist.push([distance])
console.log(" Point " + hillArray[i][0]) " to point " + (hillArray[i+1][0]) + baseDist[0]);
console.log("Last C-A = " + baseDist[i]);
}
};
【问题讨论】:
-
简化代码以便我们可以帮助您。
标签: javascript arrays loops distance