I need to get the information of a position of an array inside the loop.
I’ve two variables.
var columns = 4, rows = 5;
So, the array would be look like this according to the value of i (in loop):
Now, I’ve to produce an array of information.
var positions = [], totalCount = columns * rows; for (var i = 1; i <= totalCount; i++) { var informationObject = { "column": "column number", "row": "row number", "column_count": "column count", "row_count": "row count", }; positions.push(informationObject); } console.log(positions);
Detailed architecture of this is here:
I wan’t to prepare this positions array differently according to the position information.
You may ask me what I’ve tried. I actually doing it custom code. Like
if(i=7){//do operation}
, I mean totally humanize code. This is getting very weird. I think there has a way to do this dynamically.
Please help. Thanks in advance.
Advertisement
Answer
Hard-coding the output based on i
is not a viable solution. The property values you are looking to output can be obtained through the use of the Modulo operator (%
) and division:
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);
For further information see the following MDN links: