Actionscript 3 AS3如何创建一种基于对象的索引数组?但不像字典那样严格

Actionscript 3 AS3如何创建一种基于对象的索引数组?但不像字典那样严格,actionscript-3,indexing,Actionscript 3,Indexing,如何创建一种基于对象的索引数组?但不像字典那样严格 我的意思是: var a:Object = {a:3}; var b:Object = {a:3}; var dict:Dictionary = new Dictionary(); dict[a] = 'value for a'; // now I want to get the value for the last assignment var value = dict[b]; // value doesn't exits :s 怎么

如何创建一种基于对象的索引数组?但不像字典那样严格

我的意思是:

var a:Object = {a:3};
var b:Object = {a:3};

var dict:Dictionary = new Dictionary();
dict[a] = 'value for a';

// now I want to get the value for the last assignment
var value = dict[b];

// value doesn't exits :s
怎么做那样的东西。不要太沉重,因为大量数据将在那里流动


我有一个使用toString()方法的想法,但我必须创建自定义类。。我想要一些快速的东西。

为什么不创建一个封装数组的特殊类,将方法放入其中以添加和删除数组中的元素,然后您可以创建一个特殊的方法(可能是getValueByObject(),只要有意义)。然后你可以做:

var mySpecialArrayClass:MySpecialArrayClass = MySpecialArrayClass();

var a:Object = {a:3};
var b:Object = {a:3};

mySpecialArrayClass.addElement(a,'value for a');

var value = mySpecialArrayClass.getValueByObject(a);
如果你不学的话,我可能会编一个这样一门课的简单例子

更新:

需要帮忙吗

更新:

你能使用===功能吗?如果你说

if ( object === object ) 

它比较底层内存地址以查看两个对象是否是相同的引用…

为什么不创建一个封装数组的特殊类,将方法放在其中以从数组中添加和删除元素,然后可以创建一个特殊方法(可能是getValueByObject(),只要有意义)。然后你可以做:

var mySpecialArrayClass:MySpecialArrayClass = MySpecialArrayClass();

var a:Object = {a:3};
var b:Object = {a:3};

mySpecialArrayClass.addElement(a,'value for a');

var value = mySpecialArrayClass.getValueByObject(a);
如果你不学的话,我可能会编一个这样一门课的简单例子

更新:

需要帮忙吗

更新:

你能使用===功能吗?如果你说

if ( object === object ) 

它比较底层内存地址,以查看两个对象是否是相同的引用…

为什么需要按对象名称存储密钥?一个简单的方法是在存储dict[A]时始终存储dict.last。所以dict[a]=dict.last=somevalue;因为在我的项目中,对象将具有多个属性。所以我需要与属性具有相同值的对象。为什么需要按对象名存储键?一个简单的方法是在存储dict[A]时始终存储dict.last。所以dict[a]=dict.last=somevalue;因为在我的项目中,对象将具有多个属性。所以我需要一个和属性值相同的对象。这就是我现在要做的。我只是重写toString()方法并返回一种序列化字符串。然后将被该..索引。。但是我想要更好的方法。。或者其他选择。serialize方法目前是为每个对象手动设置的。这很好,但它似乎需要大量的处理。。有更轻的过程吗?问题是,如果是同一个对象,这并不重要。只需要具有相同的属性和值在您所写的示例中:“if(a==b)”将是false,这是我目前正在做的。我只是重写toString()方法并返回一种序列化字符串。然后将被该..索引。。但是我想要更好的方法。。或者其他选择。serialize方法目前是为每个对象手动设置的。这很好,但它似乎需要大量的处理。。有更轻的过程吗?问题是,如果是同一个对象,这并不重要。只需要具有相同的属性和值在您编写的示例中,“if(a==b)”将为false