Тогда вот такой код получается:

Код:
var myArray :ArrayCollection = new ArrayCollection
([{name:"field1",dat:"AZ"},{name:"field2",dat:"MA"},{name:"field3",dat:"MZ"}]);
var dt:Object = {name:"field1", dat:"AZ"};
var linkdt:Object=myArray[1];
trace(myArray.getItemIndex({name:"field2", dat:"MA"}));// -1
trace(myArray.getItemIndex(dt));// -1
trace(myArray.getItemAt(0) == {name:"field1",dat:"AZ"});//false
trace(myArray.getItemAt(0) == dt);//false
trace(myArray.getItemAt(1) == linkdt);//true
Получается что это функция не удобная, где ее применять не понятно.
И еще. Если у меня 10 полей в таблице или больше мне каждый раз писать

Код:
if(myCursor.current.pole1==dt.pole1 &&
my Cursor.current.pole2==dt.pole2)&&
..............................
my Cursor.current.pole3==dt.pole10)
Или можно проще сделать?