2 回答

TA貢獻1848條經驗 獲得超2個贊
對基于的輸出進行硬編碼i并不是一個可行的解決方案。您要輸出的屬性值可以通過使用模運算符 ( %) 和除法來獲得:
var columns = 4,
? rows = 5,
? positions = [],
? totalCount = columns * rows;
for (var i = 0; i < totalCount; i++) {
? let r = Math.ceil(i / columns);
? let c = (i % columns) + 1;
??
? positions.push({
? ? column: c,
? ? row: r,
? ? column_count: r,
? ? row_count: c
? });
}
console.log(positions);

TA貢獻2036條經驗 獲得超8個贊
使用兩個 for 循環是您想要輕松捕獲 x/y 信息的方法。其中 x 代表左/右,y 代表上/下。
這就是你要找的嗎?
var columns = 4,
rows = 5;
var positions = [],
for (let x = 1; x <= columns; x++) {
for(let y=1;y<=rows;y++){
var informationObject = {
"column": x,
"row": y,
"column_count": y,
"row_count": x,
};
positions.push(informationObject);
}
}
console.log(positions);
添加回答
舉報