【问题标题】:Multidimensional Array in JavaScript?JavaScript 中的多维数组?
【发布时间】:2012-09-21 02:00:41
【问题描述】:

我有

var items = new Array('0,364,2113,0','0,0,0,0');

我想把它转换成多维数组 喜欢

var Finalitems = [[0, 364,2113,0], [0, 0, 0,0]];

【问题讨论】:

  • 你忘了问一个问题,你没有提到你已经尝试过什么。
  • -1 投票,因为请求的解决方案与被接受为正确的解决方案不同。对问题的说明不佳。

标签: javascript multidimensional-array


【解决方案1】:

您可以只循环 items 数组,然后在 , 上拆分。这将返回一个新数组,您可以将其添加到新的double dim array

类似这样的:

declare double dim array "dimarray";
declare int i = 0;
foreach(...in "items")
{
  var "newarray" = split(...);
  dimarray[i] = newarray;
  i++;
}

【讨论】:

    【解决方案2】:

    类似

    var items = new Array('0,364,2113,0','0,0,0,0');
    var finalitems = [];
    
    for (var i in items)
    {
        vals = items[i].split(',');
        finalitems.push(vals);
    }
    

    ?

    【讨论】:

    • 这就是我要说的,只是你返回一个字符串数组。
    • 请不要告诉人们在 JavaScript 中的数组上使用 for-in。这是错误的。
    【解决方案3】:
    <!DOCTYPE html>
    <html>
    <head>
    <script>
    
    
    function onBtnPress()
    {
        var items = new Array('0,364,2113,0','0,0,0,0');
        var nItems, i;
        var result = new Array();
    
        nItems = items.length;
        for (i=0; i<nItems; i++)
        {
            curStr = items[i];
            curItemArray = curStr.split(',');
            len = curItemArray.length;
            for (index=0; index<len; index++)
            {
                curItemArray[index] = parseInt(curItemArray[index]);
            }
    
            result.push(curItemArray);
        }
        console.log(result);
    }
    </script>
    
    
    
    <title></title>
    </head>
    <body>
        <input type='button' onclick='onBtnPress();' value='click me' >
    </body>
    </html>
    

    【讨论】:

    • 看不出有什么问题,它似乎可以工作。这有点长,但在最坏的情况下,这会使它不太有用,而不是没有有用。
    【解决方案4】:

    要提供您所要求的,一个数字数组(不是字符串),请执行此操作。

    var finalArray = items.map(function(item) {
                                  return item.split(",").map(Number);
                               });
    

    【讨论】:

      猜你喜欢
      • 2015-02-14
      • 2017-05-24
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-06
      相关资源
      最近更新 更多