宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3数组中找出指定的数组元素

2016-10-13 00:16:48 点击量:25 标签: 收藏本文

解决方法:用for语句和break语句就能找到匹配的元素。另外用ArrayUtilities.findMatchIndex(), ArrayUtilities.findLastMatchIndex()和ArrayUtilities.findMatchIndices()方法

代码实现查找功能:

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

var match:String="b"//指定要搜索的内容;

for(var i:int=0;i<letters.length;i++){

if(letters[i]==match){

trace("找到了"+match+"在数组第"+i+"个位置");

break;

}

}

也可以从数组最后一个元素开始查找;

for条件改为for(var i:int=letters.length-1;i>=0;i--)

使用自定义类ArrayUtilites类更简单,它在ascb.util包中,首先导入它:

import ascb.util.ArrayUtilities;

ArrayUtilities类有三个方法来查找匹配的元素findMatchIndex(),findLastMatchIndex(),和findMatchIndices。

用ArrayUtilies.findMatchIndex来实现查找功能:

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

trace(ArrayUtilities.findMatchIndex(letters,"b"));

显示结果:1

trace(ArrayUtilities.findMatchIndex(letters,"r"));

显示结果:-1

也可以拽定搜索的起始下标作为第三个参数:

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

trace(ArrayUtilities.findMatchIndex(letters,"d",1))//指定从数组下标为“1”的元素开始搜索

显示结果为:3

如果第三个参数为true,则返回部分匹配的元素:

var words:Array=["bicycle","baseball","mat","board"];

trace(ArrayUtilities.findMatchIndex(words,"s",true));

显示:1

findLastMatchIndex()方法返回最后一个匹配的元素下标

findMatchIndices()方法返回所有匹配的元素下标数组;

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

trace(ArrayUtilities.findMatchIndices(letters,"b"));

//显示结果:1,5

var letters:Array=["bicycle","baseball","mat","board"];

trace(ArrayUtilities.findMatchIndices(letters,"b",true));

//显示结果:0,1,3

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室