为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取循环内数组值的位置信息

如何获取循环内数组值的位置信息

慕码人8056858 2023-08-10 14:34:09
我需要获取循环内数组位置的信息。我有两个变量。var columns = 4,      rows = 5;因此,根据 i 的值(循环中),数组将如下所示:现在,我必须提供一系列信息。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);其详细架构如下:我不想根据位置信息来不同地准备这个位置数组。你可能会问我尝试过什么。我实际上是在做自定义代码。就像if(i=7){//do operation},我的意思是完全人性化的代码。这变得非常奇怪。我认为有一种方法可以动态地做到这一点。请帮忙。提前致谢。
查看完整描述

2 回答

?
慕尼黑5688855

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);

查看完整回答
反对 回复 2023-08-10
?
慕桂英3389331

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);


查看完整回答
反对 回复 2023-08-10
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信