现在的位置: 首页 > 综合 > 正文

Flex 学习笔记 Array相关操作

2013年02月04日 ⁄ 综合 ⁄ 共 2609字 ⁄ 字号 评论关闭

元素添加

通过pushpop方法可以用一个Array类的一个实例构建一个栈的数据结构。通过这样的数据结构,可以实现更为复杂的算法

定义:

var tempArr:Array = new Array();

push

//添加“Enya“到tempArr的尾部,tempArr中内容为Enya
tempArr.push("Enya ");

unshift

//将“I“添加到tempArr头部,tempArr中原有元素往后移,tempArr中内容为I Enya
tempArr.unshift("I ");

元素插入

splice

//删除从索引位置“1”开始的0个元素,在此位置添加“like” tempArr中内容为I like Enya
tempArr.splice(1, 0, "like");

//删除从索引位置“2”开始的1个元素,在此位置将"张悬","王菲","燕姿"填充,tempArr中的内容为:I like 张悬 王菲 燕姿
tempArr.splice(2,1, "张悬","王菲","燕姿");

//若将该方法的参数改为
tempArr.splice(2,0, "张悬","王菲","燕姿");
//结果为I like 张悬 王菲 燕姿 Enya

元素删除

定义company初值:

var company:Array = new Array("IBM", "APPLE", "SUN","ADOBE");

pop

//删除最后一个元素,company中内容为IBM,APPLE,SUN
company.pop();

shift:

//删除index“0”的头部元素,company中内容为APPLESUN
company.shift();

splice

//删除从索引位置1开始的0个元素,添加“IBM”到此索引位置,company中内容为APPLEIBM,SUN
company. splice(1,0,”IBM”); 

//删除从索引位置1开始的1个元素,添加“ADOBE”到此索引位置,company中内容为APPLEADOBE,SUN
company. splice(1,1,” ADOBE”); 

数组排序

sort

var nums:Array = new Array(2,0,5);

//按照数字降序排列 nums变为520
nums.sort(Array.NUMERIC | Array.DESCENDING);

sortOn

按照某个字段排序:

//Array.NUMERIC默认为升序
var students:Array = new Array(  );
                students.push({name: "Jake", age:20});
                students.push({name: "Tom", age:22});
                students.push({name: "Will", age:17});
                students.sortOn("age",Array.NUMERIC);

数组查询

concat()join()slice() toString() 用于查询数组中的信息,而不修改数组。concat() slice() 方法返回新数组;而 join() toString() 方法返回字符串。

concat() 方法将新数组和元素列表作为参数,并将其与现有数组结合起来创建新数组。
slice()
方法具有两个名为 startIndex endIndex 的参数,并返回一个新数组,它包含从现有数组分离出来的元素副本。分离从 startIndex 处的元素开始,到 endIndex 处的前一个元素结束。值得强调的是,endIndex 处的元素不包括在返回值中。

concat

var array1:Array = ["alpha", "beta"];

//  输出:alpha,beta,gamma,delta
var array2:Array = array1.concat("gamma", "delta");

// 输出:alpha,beta,alpha,beta,gamma,delta

var array3:Array = array1.concat(array2);

silce

//显示索引位置为”2””5”的元素, 输出内容:alpha,beta,gamma

var array4:Array = array3.slice(2,5);

join() toString() 方法查询数组,并将其内容作为字符串返回。如果 join() 方法没有使用参数,则这两个方法的行为相同,它们都返回包含数组中所有元素的列表(以逗号分隔)的字符串。与 toString() 方法不同,join() 方法接受名为 delimiter 的参数;可以使用此参数,选择要用作返回字符串中各个元素之间分隔符的符号。

toString

var rivers:Array = ["Nile", "Amazon", "Yangtze", "Mississippi"];

// 输出:Nile,Amazon,Yangtze,Mississippi

var riverCSV:String = rivers.toString();

// 输出:Nile+Amazon+Yangtze+Mississippi

var riverPSV:String = rivers.join("+");


对于 join() 方法,应注意的一个问题是,无论为主数组元素指定的分隔符是什么,为嵌套数组返回的值始终以逗号作为分隔符,如以下示例所示:

var nested:Array = ["b","c","d"];     
var letters:Array = ["a",nested,"e"];

// 输出:a+b,c,d+e
var joined:String = letters.join("+");

 

相关链接:

添加插入:http://www.blogjava.net/crazycoding/archive/2010/02/12/312616.html

删除:http://blog.csdn.net/anfeind/article/details/4207645

查询:http://hi.baidu.com/%CE%D2%B5%C4%B0%AE%C7%D9%BA%A3/blog/item/c7111f3b61c4dee714cecb6d.html

抱歉!评论已关闭.