AS3 - 数组Array的几个常用方法(附样例)
AS3 - 数组Array的几个常用方法(附样例)
1,every()方法
检测是否数组所有元素都满足 callback 函数方法指定的条件。
语法:function every(callback:Function, thisObject:* = null):Boolean
参数:
callback:Function --检测函数
thisObject:* (default = null) --判断条件
返回:布尔值
1
2
3
4
5
6
7
8
9
10
|
protected function init(event:FlexEvent): void { var arr1: Array = [ 1 , 2 , 4 ]; var res1: Boolean = arr1.every(isNumeric); trace ( "isNumeric:" , res1); // true } private function isNumeric(element:*, index: int , arr: Array ): Boolean { return (element is Number ); } |
2,filter 方法
根据 callback 方法指定的条件过滤数组,返回由符合条件的元素组成的新数组
语法:filter(callback:Function, thisObject:* = null):Array
参数:
callback:Function--检测函数
function callback(item:*, index:int, array:Array):void;
thisObject:* = null--判定条件
返回:数组
1
2
3
4
5
6
7
8
9
10
11
12
13
|
protected function init(event:FlexEvent): void { var employees: Array = new Array (); //创建employees数组 employees.push({name: "Employee 1" , manager: false }); //调用push函数添加二维元素 employees.push({name: "Employee 2" , manager: true }); employees.push({name: "Employee 3" , manager: false }); var managers: Array = employees.filter(isManager); //调用挑选函数isManager } private function isManager(element:*, index: int , arr: Array ): Boolean { return (element.manager == true ); //返回判断布尔值 } |
3,forEach方法
数组的每一个元素执行 callback 方法,不返回任何值
语法:forEach(callback:Function, thisObject:* = null):void
参数:
callback:Function--执行函数
function callback(item:*, index:int, array:Array):void;
thisObject:* = null--执行范围
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
protected function init(event:FlexEvent): void { var employees: Array = new Array (); //创建employees数组 employees.push({name: "Employee 1" , manager: false }); //调用push函数添加二维元素 employees.push({name: "Employee 2" , manager: true }); employees.push({name: "Employee 3" , manager: false }); trace (employees); //输出数组 employees.forEach( trace Employee); //调用执行函数traceEmployee } private function trace Employee(element:*, index: int , arr: Array ): void { trace (element.name + " (" + element.manager + ")" ); //输出:name (manager) } |
4,indexOf 方法
查找数组元素,若存在返回元素索引位置,若不存在返回-1
语法:indexOf(searchElement:*, fromIndex:int = 0):int
参数:
searchElement:*--查找关键字
fromIndex:int = 0--查找开始索引位置(默认:0)
返回:数值
1
2
3
|
var arr: Array = new Array ( 123 , 45 , 6789 ); //创建数组arr var index2: int = arr.indexOf( 123 ); //查寻123 trace (index2); // 0 |
5,lastIndexOf 方法
从最后一个索引位置向前查寻数组元素,若存在返回元素索引位置,若不存在返回-1
语法:lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
参数:
searchElement:*--查寻关键字
fromIndex:int = 0x7fffffff--索引开始位置(默认:0x7fffffff)
返回:数值
1
2
3
|
var arr: Array = new Array ( 123 , 45 , 6789 , 123 , 984 , 323 , 123 , 32 ); var index2: int = arr.lastIndexOf( 123 ); trace (index2); // 6 |
6,join 方法
将数组中的元素转换为字符串、在元素间插入指定的分隔符、连接这些元素然后返回结果字符串
join(sep:*):String 参数:
sep:*--插入分隔符
返回:字符串
1
2
|
var myArr: Array = new Array ( "one" , "two" , "three" ); var myStr: String = myArr. join ( " and " ); |
7,map() 方法
数组的每一个元素执行 callback 方法,返回新数组
语法:map(callback:Function, thisObject:* = null):Array
参数:
callback:Function--执行函数
thisObject:* = null--执行范围
返回:数组
1
2
3
4
5
6
7
8
9
|
protected function init (event: FlexEvent ):void { var arr: Array = new Array ( "one" , "two" , "Three" ); var upperArr: Array = arr. map (toUpper); //创建upperArr数组并调用执行toUpper函数 } private function toUpper(element:*, index:int, arr: Array ): String { return String (element).toUpperCase(); //小写转大字 } |
8,pop 方法
删除数组中最后一个元素,并返回该元素的值。
语法:function pop():Object
返回:对象-- 指定的数组中最后一个元素的值。
1
2
|
var letters: Array = new Array ( "a" , "b" , "c" ); var letter: String = letters.pop(); |
9,shift 方法
删除数组中第一个元素,并返回该元素
语法:function shift():Object
返回:对象
1
2
|
var letters: Array = new Array ( "a" , "b" , "c" ); var firstLetter: String = letters.shift(); |
10,push 方法
将一个或多个元素添加到数组的结尾,并返回该数组的新长度。
语法:function push(... args):uint
参数:
... args-- 要追加到数组中的一个或多个值。
返回:新数组长度
1
2
3
|
var letters: Array = new Array (); letters.push( "a" ); letters.push( "b" , "c" ); |
11,unshift 方法
将一个或多个元素添加到数组的开头,并返回该数组的新长度.
语法:function unshift(... args):uint
参数:
... args--一个或多个要插入到数组开头的数字、元素或变量。
返回:数值
1
2
3
4
5
6
7
|
var names: Array = new Array (); names.push( "Bill" ); names.push( "Jeff" ); trace (names); // Bill,Jeff names.unshift( "Alfred" ); names.unshift( "Kyle" ); trace (names); // Kyle,Alfred,Bill,Jeff |
12,reverse 方法
在当前位置倒转数组
语法:function reverse():Array
返回:数组
1
2
3
4
|
var letters: Array = new Array ( "a" , "b" , "c" ); trace (letters); // a,b,c letters.reverse(); trace (letters); // c,b,a |
13,slice 方法
返回由原始数组中某一范围的元素构成的新数组,而不修改原始数组。返回的数组包括 startIndex 元素以及从其开始到 endIndex 元素(但不包括该元素)的所有元素。
如果您没有传递任何参数,则创建原始数组的一个副本。
语法:function slice(startIndex:int = 0, endIndex:int = -1):
参数:
startIndex:int = 0--指定片段起始点索引的数字。如果 start 是负数,则起始点从数组的结尾开始,其中 -1 指的是最后一个元素
endIndex:int = -1--指定片段终点索引的数字。如果省略此参数,则片段包括数组中从开头到结尾的所有元素。如果 end 是负数,则终点从数组的结尾指定,其中 -1 指的是最后一个元素。
返回:数组
1
2
3
4
5
6
7
8
9
10
|
var letters: Array = new Array ( "a" , "b" , "c" , "d" , "e" , "f" ); var someLetters: Array = letters.slice( 1 , 3 ); trace (letters); // a,b,c,d,e,f trace (someLetters); // b,c var someLetters2: Array = letters.slice( 2 ); trace (someLetters2); // c,d,e,f var someLetters3: Array = letters.slice(- 2 ); trace (someLetters3); // e,f |
14,some 方法
检测数组中是否有元素满足 callback 方法指定的条件。
语法:some(callback:Function, thisObject:* = null):Boolean
参数:
callback:Function--执行函数
thisObject:* = null--执行范围
返回:布尔值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
protected function init(event:FlexEvent): void { var arr: Array = new Array (); arr[ 0 ] = "one" ; arr[ 1 ] = "two" ; arr[ 3 ] = "four" ; var isUndef: Boolean = arr.some(isUndefined); //调用执行函数isUndefined if (isUndef) { trace ( "array contains undefined values: " + arr); } else { trace ( "array contains no undefined values." ); } } private function isUndefined(element:*, index: int , arr: Array ): Boolean { return (element == undefined ); } |
15,splice 方法
给数组添加元素以及从数组中删除元素。此方法会修改数组但不制作副本。
语法:function splice(startIndex:int, deleteCount:uint, ... values):Array
参数:
startIndex:int--一个整数,它指定插入或删除动作开始处的数组中元素的索引。您可以指定一个负整数来指定相对于数组结尾的位置(例如,-1 是数组的最后一个元素
deleteCount:uint--一个整数,它指定要删除的元素数量。该数量包括 startIndex 参数中指定的元素。如果没有为 deleteCount 参数指定值,则该方法将删除从 startIndex 元素到数组中最后一个元素之间的所有值。如果该参数的值为 0,则不删除任何元素。
... values--指定要在 startIndex 参数中指定的插入点处插入到数组中的值
返回:数组
1
2
3
4
5
6
7
8
9
10
|
var vegetables: Array = new Array ( "spinach" , "green pepper" , "cilantro" , "onion" , "avocado" ); var spliced: Array = vegetables.splice( 2 , 2 ); trace (vegetables); // spinach,green pepper,avocado trace (spliced); // cilantro,onion vegetables.splice( 1 , 0 , spliced); trace (vegetables); // spinach,cilantro,onion,green pepper,avocado |
16,toString 方法
返回一个字符串值,该值表示所指定的 Array 对象中的元素。数组中的每一个元素(从索引 0 开始到最高索引结束)均会转换为一个连接字符串,并以逗号分隔。若要指定自定义的分隔符,请使用 Array.join() 方法。
语法:toString():String
返回:字符串
1
2
3
4
5
6
7
|
var vegetables: Array = new Array (); vegetables.push( 1 ); vegetables.push( 2 ); vegetables.push( 3 ); var vegnums: String = vegetables.toString(); trace (vegnums); // 1,2,3 |
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_676.html
AS3 - 数组Array的几个常用方法(附样例)的更多相关文章
- Swift - 动画效果的实现方法总结(附样例)
在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations.这三个方法都是类方法. 一,使用 ...
- Swift - 数组排序方法(附样例)
下面通过一个样例演示如何对数组元素进行排序.数组内为自定义用户对象,最终要实现按用户名排序,数据如下: 1 2 3 4 var userList = [UserInfo]() userList.app ...
- Swift - 本地消息的推送通知(附样例)
使用UILocalNotification可以很方便的实现消息的推送功能.我们可以设置这个消息的推送时间,推送内容等. 当推送时间一到,不管用户在桌面还是其他应用中,屏幕上方会都显示出推送消息. 1, ...
- Swift - 使用ALAssetsLibrary获取相簿里所有图片,视频(附样例)
1,ALAssetsLibrary介绍 (1)通过创建ALAssetsLibrary的实例可以访问系统Photos里的图片与视频.这里图片不仅包括相机拍摄的照片,还包括从iTunes导入的和从其他设备 ...
- Jquery属性选择器(同时匹配多个条件,与或非)(附样例)
1. 前言 为了处理除了两项不符合条件外的选择,需要用到jquery选择器的多个条件匹配来处理,然后整理了一下相关的与或非的条件及其组合. 作为笔记记录. 2. 代码 <!DOCTYPE htm ...
- 判断Javascript变量是否为空 undefined 或者null(附样例)
1.变量申明未赋值 var type; //type 变量未赋值 1. type==undefined //true 2. type===undefined //true 3. typeof(type ...
- CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)
像 px.em 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位.CSS3 又引入了新单位:vw.vh.vmin.vmax.下面对它们做个详细介绍. 一.基本说明 1,vw.vh.vmi ...
- [转]Jquery属性选择器(同时匹配多个条件,与或非)(附样例)
1. 前言 为了处理除了两项不符合条件外的选择,需要用到jquery选择器的多个条件匹配来处理,然后整理了一下相关的与或非的条件及其组合. 作为笔记记录. 2. 代码 1 2 3 4 5 6 7 8 ...
- JS数组array常用方法
JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...
随机推荐
- 【AsyncTask整理 2】 AsyncTask方法代码演示
Android SDK为我们提供了一个后台任务的处理工具AsyncTask.AsyncTask就是一个封装过的后台任务类顾名思义就是异步任务,方便我们维护,Android开发网提示这样的好处可以解决一 ...
- (四)u-boot2013.01.01 for TQ210:《mkconfig分析》
config.mk主要功能是配置单板信息和编译环境,将会被u-boot的makefile所调用,本文仍然侧重于句法分析. ####################################### ...
- IQueryable与IEnumberable的区别
IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object: IQueryable 接口 ...
- 剑指Offer27 数组中超过一半的数
/************************************************************************* > File Name: 27_MoreTh ...
- 剑指Offer41 反转单词顺序,单词字符顺序不变
/************************************************************************* > File Name: 41_Revers ...
- CF 322E - Ciel the Commander 树的点分治
树链剖分可以看成是树的边分治,什么是点分治呢? CF322E - Ciel the Commander 题目:给出一棵树,对于每个节点有一个等级(A-Z,A最高),如果两个不同的节点有相同等级的父节点 ...
- 自定义UISearchDisplayController中搜索到结果的cell的位置
#pragma mark - UISearchBarDelegate//当搜索文本被改变的时候调用 - (void)searchBar:(UISearchBar *)searchBar textDid ...
- EL函数
EL表达式语法允许开发人员开发自定义函数,以调用Java类的方法. •示例:${prefix:method(params)} •在EL表达式中调用的只能是Java类的静态方法. •这个Java类的静态 ...
- IOS 模仿TableView封装
一.先贴一下未封装的代号,好跟后面的对比 @interface MTHomeDropdown : UIView + (instancetype)dropdown; @property (nonatom ...
- 11个优秀的HTML5 & CSS3下拉菜单制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用HTML5和CSS3可以更容易创造视觉 ...