如何根据索引对象内的值获取特定的数组索引?柔性

时间:2011-06-22 22:09:59

标签: arrays flash flex object actionscript

因此,为了发送到各个流,我们必须以某种方式引用我们想要发送的连接netStream:

sendStream.peerStreams[0].send("MyFunction",param1,param2);

我必须确定我通过他们的ID发送的对等方,例如“peerID1234”

我知道您可以通过执行以下操作来检查流的peerID:

sendStream.peerStreams[0]["farID"]

如何让我的发送流功能知道使用peerID所在的数组索引?

基本上它可能就像:

sendStream.peerStreams[where peerStreams[]["farID"] == peerID].send("MyFunction",param1,param2);

1 个答案:

答案 0 :(得分:1)

听起来你必须遍历peerStreams数组才能找到具有正确farID属性值的对象。基本上,您正在数组中搜索具有特定属性值的项目。没有内置功能。但是你可以通过一个简单的循环来完成它。像这样:

var correctStream:Object = null;
for each (var stream:Object in sendStream.peerStreams) {
   if (stream["farId"] == peerId) {
     correctStream = stream;
     break;
   }
}
correctStream.send("MyFunction",param1,param2);

请注意,我不知道peerStreams对象的数据类型是什么,因此我只是在我的示例中将其键入为Object

还有一些其他方法here,但它们只是做同样事情的不同风格。