数组
一、创建数组
var a:Arrya = new Array(10); //创建一个长度为10的数组对象
var a:Array = new Array(i,j,m,true,new Object()); //创建一个数组对象,并且实例化
var letters:Array = ["a","b",true,new Object()]; //用[]操作符创建数组对象,并对数组赋初值
二、数组添加值
1、向尾部添加元素
Array 变量.push(元素1,元素2,..);
2、向首部添加元素
Array 变量 .unshift(元素1,元素2,...);
三、搜索匹配的数组元素
var letter:Array=["a","b","c","d","b","c"];
var match::String = "b";
for (var i :int = 0 ; i < letter.length; i ++)
{
if(letter[i]==match)
{
trace("find match");
break;
}
}
四、删除数组元素
1、删除任意元素函数splice
Array 变量.splice(开始下标,删除元素个数);
2、删除首部元素shift
Array 变量.shift();
3、删除尾部元素pop
Array 变量.pop();
4、删除特定值的数组元素
var numbersArray= new Array(4,10);
numbers[4]= 1 ; //显示; 4,10 ,undefined,undefined,1
for(var i :int = 0 ; i <numbers.length; i ++)
{
if (numbers[i]==undefined)
{
numbers.splice(i,1);//删除undefined元素;
i--; // 删除后数组的长度为会自动改变,这时i也要跟着变化
}
}
五、在数组中插入元素
数组变量.splice(开始位置,0,新元素1,新元素2,..);
六、字符串与数组的转换
字符串变量.split(分隔符,数组长度) 。 字符串转换为数组
数组变量.join(连接符) . 数组转换为字符串
七、复制数组
数组变量的赋值只是表示两个数组变量指向相同的引用位置,数组变量指向的是同一个内在空间。对于Flex的组件对象也是如此。所以复制要用专门的复制方法,不能直接用赋值方法
Array 变量.concat();
Array 变量.slice(开始下标);
八、多维数组
var 变量名:Array = new Array():
变量名.push(["Maroon",'1997',"Honda"]);
变量名.push(一维数组2)
...
九、数组排序
数组变量.sort(排序常量1|排序常量2...)
数组变量.sortOn(["关键字1"|”关键字2“|....]) 。这个是针对索引数组(联合数组)进行排序
car.sortOn("year",Array.DESCENDING);
自定义排序
数组变量.sort(比较函数名);
十、联合数组
1、联合数组其实就Json格式的对象
var 变量名:object{关键字1:值,关键2:值,.....}
2、访问联合数组
联合数组变量.关键字
联合数组变量[”关键字“] 这种更灵活些,因为关键字可以动态变量
3、遍历联合数组
for( var sRole:String in members) { trace(sRole + ":" + members[sRole]); //members是一个联合数组 }