我遇到了一个问题,我在迭代中计算并将值存储到对象的不同数组中,但只有最终的迭代值最终会保存在对象的不同部分。
在这里的图片中,我有控制台输出了值minY和maxY。
然后我在使用它之前检查存储在我的数组中的值。
这有什么办法吗?第二张图片中的这些值是最终被使用的值,它阻止我前进。
编辑:我用于作业的循环:
for (var i = 0; i < partitions; i++) {
var cellObject = new Object();
cellObject.minX = sceneBounds.min[0] + boxLength * i;
cellObject.maxX = sceneBounds.min[0] + boxLength * i + boxLength;
for (var j = 0; j < partitions; j++) {
cellObject.minY = sceneBounds.min[1] + boxWidth * j;
cellObject.maxY = sceneBounds.min[1] + boxWidth * j + boxWidth;
for (var k = 0; k < partitions; k++) {
// int index = height*width*k + width*j;
var index = partitions * partitions * k + partitions * j;
cellObject.minZ = sceneBounds.min[2] + boxHeight * k;
cellObject.maxZ = sceneBounds.min[2] + boxHeight * k + boxHeight;
cellObject.objectList = [];
cellArray[index + i] = cellObject;
}
}
}
答案 0 :(得分:1)
您所询问的内容并不完全清楚,但这似乎是参考共享的一个例子。
请注意:
a = b = {};
a.x = 7
console.log(b.x); // 7
或等效
a = {};
b = a;
a.x = 7
console.log(b.x); // 7
VS
a = {};
b = {};
a.x = 7;
console.log(b.x) // undefined
确保您没有使用相同的文字初始化“对象中的不同数组”。