Flex 学习笔记 Array相关操作
元素添加
通过push和pop方法可以用一个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中内容为APPLE,SUN
company.shift();
splice:
//删除从索引位置1开始的0个元素,添加“IBM”到此索引位置,company中内容为APPLE,IBM,SUN
company. splice(1,0,”IBM”);
//删除从索引位置1开始的1个元素,添加“ADOBE”到此索引位置,company中内容为APPLE,ADOBE,SUN
company. splice(1,1,” ADOBE”);
数组排序
sort:
var nums:Array = new Array(2,0,5);
//按照数字降序排列 nums变为5,2,0
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