以下是我的代码
function generateGrid(spacing, boundBox, geometry) {
console.log(spacing);
console.log(boundBox);
var grid = [];
console.log(spacing);
for (var x = boundBox[0]; x < boundBox[2]; x = x + spacing) {
for (var y = boundBox[1]; y < boundBox[3]; y = y + spacing) {
if(geometry.intersectsCoordinate([x, y])) grid.push([x, y]);
console.log(boundBox[3] - y)
}
console.log(boundBox[1] - x)
}
console.log(grid);
}
如果spacing
被10000
之类的数字替换,则for循环执行正常。
答案 0 :(得分:3)
在您的控制台屏幕截图中,传入的参数似乎是字符串"10000"
,而不是数字10000
。
检查调用函数的代码,或转换为函数内的整数,例如使用parseInt(spacing)
。
作为帮助发现任何类似问题的提示,Chrome的console.log
以蓝色显示数值,以黑色显示字符串值。
答案 1 :(得分:1)
x是一个数字,所以使用String(x),所以你在两个字符串之间使用operator +,这会给你“15”+“1”=“151”,但这可能不是你想要的