# Posted By

chrisaiv on 01/31/10

# Statistics

Viewed 610 times
Favorited by 1 user(s)

# AS3: Search within an Array

/ Published in: ActionScript 3
`package com.blogspot.flanture.arrays{ // search Array as3 functions// author: http://flanture.blogspot.com // contact: [email protected]// January 2010 	import flash.display.Sprite; 	public class SearchArray extends Sprite { 		public function SearchArray() { 			// example usage 			var a:Array = [1,2,3,5,3];			var b:Array = [2,4,6,8]; 			search(6, b);			trace("a combined with b: "+combine(a,b));			trace("6 exists in b? "+searchB(6,b));			trace("number of 3 in a? "+searchCount(3,a));			trace("intersection of a and b: "+iSection(a,b));			trace("shuffled b: "+shuffle(b));					} 	// function search finds element in array and displays result		 	public static function search(word:Object, arr:Array):void {			var exists:Boolean = false;			for(var i:uint=0; i < arr.length; i++){				if(arr[i]==word){					trace("Element exist on position "+i);					exists = true;				}			}			if(!(exists)){				trace("Element doesn't exist in array.");			}		} 	// function searchB finds element in array and returns Boolean value 	public static function searchB(word:Object, arr:Array):Boolean {			var exists:Boolean = false;			for(var i:uint=0; i < arr.length; i++) {				if(arr[i]==word){					exists = true;				}			}			return exists;		} 	// function searchCount returns number of apperances of element in array 	public static function searchCount(word:Object, arr:Array):uint {			var counter:uint = 0;			for(var i:uint=0; i < arr.length; i++) {				if(arr[i]==word){					counter+=1;				}			}			return counter;		} 	// function iSection returns intersection array of two arrays 	public static function iSection(arr1:Array, arr2:Array):Array {			var arr3:Array = new Array();			var count:uint = 0;			for(var i:uint=0; i < arr1.length; i++){				for(var j:uint=0; j < arr2.length; j++){					if(arr1[i]==arr2[j]){						arr3[count] = arr1[i];						count+=1;					}				}			}			return arr3;		} 	// function shuffle simply shuffles given array elements 	public static function shuffle(b:Array):Array {			var temp:Array = new Array();			var templen:uint;			var take:uint;			while (b.length > 0) {				take = Math.floor(Math.random()*b.length);				templen = temp.push(b[take]);				b.splice(take,1);			}			return temp;		} 	// function combine returns union of two arrays 	public static function combine(ar1:Array, ar2:Array):Array {		var rAr:Array = new Array();		var i:uint = 0;		var j:uint = 0;		while((i < ar1.length) || (j < ar2.length)) {			if(i < ar1.length){				rAr.push(ar1[i]);				i+=1;			}			if(j < ar2.length){				rAr.push(ar2[j]);				j+=1;			}		}		return rAr;		}			}}`