【问题标题】:Storing values in variable like multidimensional array value using FOR loop使用 FOR 循环将值存储在变量中,例如多维数组值
【发布时间】:2016-05-12 04:18:21
【问题描述】:

我有从数据库 sqlite 获取值的多维数组函数。

var myarray = [];

数组值如下所示:

myarray[0][0] = "ABC";
myarray[0][1] = "abc";
...
...
...
myarray[3][1] = "GHI";

我需要将这样的数组值存储在一个变量中:

var  md2 = [[myArray[0][0], myArray[0][1]],
    [myArray[1][0], myArray[1][1]],
    [myArray[2][0], myArray[2][1]],
    [myArray[3][0], myArray[3][1]]];

如何动态声明上述数组值?

我尝试了以下方法:

for(var t =0; t<md2.length; t++){

var g = 0;

md2 = [myarray[t][g],myarray[t][g+1]];

}

上面的这行不通。

我的预期结果是使用 for 循环:

var  md2 = [[myArray[0][0], myArray[0][1]],
        [myArray[1][0], myArray[1][1]],
        [myArray[2][0], myArray[2][1]],
        [myArray[3][0], myArray[3][1]]];

我如何使用 for 循环或其他方法来做到这一点。 建议非常可观。

【问题讨论】:

  • 你到底想做什么?只复制第一个数组?
  • 只需声明一个新数组并使用推送方法
  • @charlietfl 。我只需要使用循环条件动态存储[myArray[0][0] ......值。因为 myArray 的长度可能与 databale 不同
  • @kpsingh 你能告诉我如何动态地做到这一点
  • 您的预期输出有点难以理解。你能再简单点吗?

标签: javascript jquery for-loop multidimensional-array


【解决方案1】:

您可以使用下面的代码。查看演示 - Fiddle

var md2 = [];
for (var t=0; t < myarray.length; t = t+2){
   if (myarray[t] && myarray[t+1]) {
         md2.push( [ myarray[t], myarray[t+1] ] );
   }
}

【讨论】:

  • 感谢 frd,这对我不起作用,但 tq 花时间 :) ..... 但是在 JQfiddle 工作
【解决方案2】:

一个二维数组是简单地通过构建一个“正常”数组来创建的。

 var aa = new Array(3)
 for(var i=0; i<3;i++) {
    aa[i]=new Array(3);
    for(var j=0; j<3;j++) {
       aa[i][j] = j;
    }
  }
  console.log(aa);

 Output: [[0, 1, 2], [0, 1, 2], [0, 1, 2]]

希望对你有帮助。

【讨论】:

    【解决方案3】:

    这两种方法都会给你一个 myarray 的副本,这就是你现在在代码中所做的一切

    var md2 = [].concat(myarray);
    // OR
    var md2 = myarray.slice();
    

    两者都是非破坏性的,不会影响myarray

    【讨论】:

      【解决方案4】:

      您可以使用此代码将价值从多维存储到单个

      var md2 = [];
      var cnt = 0;
      for(var i=0;i<myArray.length;i++){
      md2[i] = myArray[i];
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多