1、查找指定元素

  方法一:自己写方法找到指定元素的索引。

 
  
  1. private function checkExistence(arrc:ArrayCollection,auserName:String):int  
  2. {  
  3.     var i:int;  
  4.     var arry:Array = arrc.source;  
  5.     while(i < arry.length)  
  6.     {  
  7.         if(arry[i].userName == userName)  
  8.         {  
  9.             return i;  
  10.         }  
  11.         i++;  
  12.     }  
  13.     return -1;   

方法二:使用Sort对象。

 
  
  1. private function checkExistence(userName:String):int  
  2. {  
  3. var sort:Sort = new Sort();  
  4. return sort.findItem(arrc.source,{userName:userName},  
  5. Sort.ANY_INDEX_MODE);  

Sort 对象提供findItem 方法用于搜索这个ArrayCollection 中的所有元素。方法原型如下:
public function findItem(items:Array, values:Object, mode:String,
returnInsertionIndex:Boolean = false, compareFunction:Function = null):int
Value 参数可以是包含属性和所需值的任何对象。Mode 字符串可以是
Sort.ANY_INDEX_MODE,表示返回任何匹配项索引,Sort.FIRST_INDEX_MODE 表示返回第一个匹配项索引, Sort.LAST_INDEX_MODE 表示返回最后一个匹配项索引。returnInsertionIndex 参数表示如果该方法找不到由values 参数标识的项目,并且此参数为true,则findItem() 方法将返回这些值的插入点,也就是排序顺序中应插入此项目的
compareFunction 设置用于查找该项目的比较运算符函数.
2、修改指定元素:

  (1):

 
  
  1. var  index:int = checkExistence( "BK1" );   
  2.  
  3.        var   object :Object = arrc.getItemAt(index);   
  4.  
  5.        object [ "age" ] = age;   
  6.  
  7. arrc.itemUpdated( object );   
 

(2):

 
  
  1. var  index:int = checkExistence( "BK1" );   
  2.  
  3.        var   object :Object = arrc.getItemAt(index);   
  4.  
  5.        object [ "age" ] = age;   
  6.  
  7.        arrc.setItemAt(object,index);   

(3):

 
  
  1. var  index:int = checkExistence( " BK1 " );   
  2.  
  3. arrc .source[index].age = age;