【问题标题】:Indexed Array Names in JavascriptJavascript 中的索引数组名称
【发布时间】:2014-02-05 18:42:33
【问题描述】:

我已经明确定义了一组名为“list0 .... to list7”的数组。 我想让这些数组中的每一个都成为现有数组中的一个元素(所以我有一个这些已定义数组的二维数组)

如何在“for”循环中引用每个“list”数组?

例如:

var matrix1 = new Array();

function makeMatrix1(){

    for(row=0; row<8; row++)
    {       

        matrix1[row] = list[row]//put each 'list' array into matrix1 as an element

    }

上面的语法显然行不通。

【问题讨论】:

    标签: javascript arrays names


    【解决方案1】:

    怎么样:

    var matrix1 = [list0, list1, list2, list3, list4, list5, list6, list7];
    

    这不是for 循环,但它看起来很简单(可能比for 循环更简单)并且可以完成工作。我认为,另一种选择是使用eval(我个人几乎不惜一切代价尽量避免)。

    var matrix1 = [];
    for (row = 0; row < 8; row++) {
        matrix1.push(eval("list" + row));
    }
    

    【讨论】:

    • 是的,我可以使用不同的方法来制作“矩阵”数组,但我也希望能够通过索引(0- ->7).
    • @user3123418 - 一旦你构造了matrix1(作为显式数组或在循环中使用eval),那么matrix1[i] 将评估为数组list&lt;i&gt;
    【解决方案2】:

    你可以这样做

       var myTwoDimArray = [listo,........,list7];  
    

    现在由

    打印
       alert(myTwoDimArray[0][0]);  
    

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      list0、list1、list2 等已作为数组结构编号。怎么样

      list=new Array();
      list[0]=["a","b","c"];
      list[1]=["d","e"];
      list[2]=["f","g","h","j"];
      etc
      

      那么你已经有了你的矩阵结构。因此,由于您已经明确定义了行,因此您可以这样做

      matrix=new Array();
      matrix[0]=["a","b","c"];
      matrix[1]=["d","e"];
      matrix[2]=["f","g","h","j"];
      etc
      

      matrix[1][1] 会给出“e” matrix[2][3] 将给出“j” 等等

      当然可以

      matrix=[
         ["a","b","c"],
         ["d","e"],
         ["f","g","h","j"],
      .....
      .....
      and so on for each of the 8 rows
      
      ]
      

      同样的结果

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-24
        • 2012-11-27
        • 1970-01-01
        • 2013-08-29
        相关资源
        最近更新 更多