【发布时间】:2022-01-24 17:08:13
【问题描述】:
我有一个像这样接收坐标值的对象
Object{
[key]:[value],
[key]:[value],
}
每个键都是一个坐标 x,y,每个值都是一个真正的布尔值。我通过一个程序生成坐标,该程序接收一个数组,其中 0 代表真,1 代表假,有一个宽度和一个高度。
我想以这种方式将每个键输出为该对象内的坐标 x,y:
Object{
[gridCoords([0, 0, 0, 0,
1, 1, 0, 1,
0, 0, 0, 0,
0, 0, 0, 0],
4,
4)]:true,
}
所以,我的功能是这样的:
function gridCoords(data, height, width) {
var obj = [];
for (let row = 0; row < height; row++) {
for (let col = 0; col < width; col++) {
let key=`${row * 16},${col * 16}`
let value= (data[row * height + col] === 1 ? true: false )
if (value){
obj.push(key)
}
}
}
return obj
}
但我收到了这个:
{
16,0,16,16,16,48,32,16,32,32: true
}
代替:
{
16,0: true,
16,16: true,
16,48: true,
32,16: true,
32,32: true
}
我能做什么?
【问题讨论】:
标签: javascript arrays