0

我有一个字符串:a - b - c,我想创建一个数组。

A [] >> B [] >> C []

var f:Array = "a-b-d".split('-');
var tree:Array = new Array;
for (var i:Number=0; i < f.length ;  i++)
{
   var o:Object = new Object
  o.name = f[i];
  o.path = f.slice(0,i);
 o.isDirectory = (i == f.length)? false :true ;
}

我想要这个

var x:Array = new Array(new Array(new Array()));

这是正确的方法吗?或者我该怎么办?

4

1 回答 1

0

是的,您可以在数组中创建多维数组。给定您的数据模型,创建一个“对象”并将 Array 作为这些对象的集合可能会很有用。创建辅助方法来搜索、检索、更新和删除该结构中的项目可能很有用。

问题是您的字符串结构如何?它只有3层深吗?这是未经测试的代码,并且基于您已经布置的假设,即您的字符串结构只有一个设定的深度。

使用您的代码的方法如下:

var f:Array = "a-b-c".split('-');

// create first dimension of arrays (tree)
var tree:Array = new Array();
var secondTree:Array = new Array();
var thirdTree:Array = new Array();

secondTree.push(thirdTree);
tree.push(secondTree);

// create second dimension of arrays (tree)
for (var i:int=0; i < f.length;  i++)
{
   var o:Object = new Object
   o.name = f[i];
   o.path = f.slice(0,i);
   o.isDirectory = (i == f.length)? false : true;

   if(i%3 == 0) {
     thirdTree.push(o);
   } else if(i%2 == 0) {
     secondTree.push(o);
   } else {
     tree.push(o);
   }
}
于 2013-07-20T13:10:57.940 回答