【问题标题】:create multiple 2 d arrays of objects using javascript where object has same properties使用 javascript 创建多个 2 d 对象数组,其中对象具有相同的属性
【发布时间】:2014-06-11 08:12:59
【问题描述】:

如何创建两个二维数组,其中数组的每个元素都是一个具有属性的对象。两个数组的大小不同,每个单元格的属性也不同。

var gridcell = [];
var regionalcell = [];

到目前为止,我已经完成了这项工作,它有效但效率不高,我不想重复代码。如果你们能帮忙就太好了。

在两个函数中,“w,h,r,c”的值是不同的。

function createCellArray(w, h,r,c) 
{
     for (j = 0; j < r; j++) 
     {
         gridcell[j] = [];
       for (i = 0; i < c; i++) 
       {
         gridcell[j][i] = 
            {
                 "x1": w * i,
                 "y1": h * j,
                 "x2": w * (i + 1),
                 "cell_color": null,
                 "y2": h * (j + 1),
                 "name": (i + 1 * (j * 10)) + 1
            }
        }
     }
}


function createRegionalCellArray(w, h, r, c) {
    for (j = 0; j < r; j++) {
        regional[j] = [];
        for (i = 0; i < c; i++) {
            regional[j][i] =
            {
                "x1": w * i,
                "y1": h * j,
                "x2": w * (i + 1),
                "cell_color": null,
                "y2": h * (j + 1),
                "name": (i + 1 * (j * 10)) + 1
            }
        }
    }
}

【问题讨论】:

    标签: javascript arrays object


    【解决方案1】:

    我不确定你的问题是什么...你想分解你的代码吗?

    在这种情况下,只需创建一个返回公共数组的函数:

    function returnCellArray(w, h, r, c) 
    {
         var cellArray = [];
         for (j = 0; j < r; j++) 
         {
           cellArray[j] = [];
           for (i = 0; i < c; i++) 
           {
             cellArray[j][i] = 
                {
                     "x1": w * i,
                     "y1": h * j,
                     "x2": w * (i + 1),
                     "cell_color": null,
                     "y2": h * (j + 1),
                     "name": (i + 1 * (j * 10)) + 1
                }
            }
         }
    
         return cellArray;
    }
    
    gridCell = returnCellArray(w1, h1, r1, c1);
    regionalcell = returnCellArray(w2, h2, r2, c2);
    

    【讨论】:

    • 实际上它似乎有效,我想我试图使用全局数组而不是你使用 cellArray 的本地数组
    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    • 2018-10-24
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多