|
|
查询数组Array 和 Vector 类的四种方法 concat()、join()、slice() 和 toString() 均可用于查询数组的信息,而不修改数组。concat() 和 slice() 方法返回新数组;而 join() 和 toString() 方法返回字符串。concat() 方法将新数组和元素列表作为参数,并将其与现有数组结合起来创建新数组。slice() 方法有两个名为 startIndex 和 endIndex 的参数,并返回一个新数组,新数组中包含从现有数组“分离”的元素副本。分离从 startIndex 处的元素开始,到 endIndex 处的前一个元素结束。值得强调的是,endIndex 处的元素不包括在返回值中。 以下示例通过 concat() 和 slice() 方法,使用其它数组的元素创建一个新数组: var array1:Array = ["alpha", "beta"];
var array2:Array = array1.concat("gamma", "delta");
trace(array2); // output: alpha,beta,gamma,delta
var array3:Array = array1.concat(array2);
trace(array3); // output: alpha,beta,alpha,beta,gamma,delta
var array4:Array = array3.slice(2,5);
trace(array4); // output: alpha,beta,gamma
可以使用 join() 和 toString() 方法查询数组,并将其内容作为字符串返回。如果 join() 方法没有使用参数,则这两个方法的行为相同,它们都返回一个字符串,其中包含数组中所有元素的逗号分隔列表。与 toString() 方法不同,join() 方法接受名为 delimiter 的参数;可以使用此参数,选择要用作返回字符串中各个元素之间分隔符的符号。 下面的示例创建名为 rivers 的 Array,并调用 join() 和 toString() 以便采用字符串形式返回该 Array 中的值。toString() 方法用于返回以逗号分隔的值 (riverCSV);而 join() 方法用于返回以 + 字符分隔的值。 var rivers:Array = ["Nile", "Amazon", "Yangtze", "Mississippi"];
var riverCSV:String = rivers.toString();
trace(riverCSV); // output: Nile,Amazon,Yangtze,Mississippi
var riverPSV:String = rivers.join("+");
trace(riverPSV); // output: Nile+Amazon+Yangtze+Mississippi
对于 join() 方法,应注意的一个问题是,无论为主数组元素指定的分隔符是什么,为嵌套 Array 或 Vector 实例返回的值始终以逗号作为分隔符,如下面的示例所示: var nested:Array = ["b","c","d"];
var letters:Array = ["a",nested,"e"];
var joined:String = letters.join("+");
trace(joined); // output: a+b,c,d+e
|