Как я могу получить конкретный индекс массива на основе значения внутри объекта индекса? сгибать - PullRequest
0 голосов
/ 23 июня 2011

Итак, для отправки в отдельные потоки мы должны ссылаться на подключенный netStream, который мы хотим отправить, следующим образом:

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

и я должен определить, к какому пиру я отправляю, по их идентификатору, например, "peerID1234"

Я знаю, что вы можете проверить peerID потока, выполнив:

sendStream.peerStreams[0]["farID"]

как я могу сделать так, чтобы моя функция отправки потока знала, что использовать индекс массива с идентификатором peerID?

так что в принципе это может быть как:

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

1 Ответ

1 голос
/ 23 июня 2011

Звучит так, будто вам придется пройтись по массиву 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 в моем примере.

Есть несколько других упомянутых подходов здесь , но это просто разные стили выполнения одного и того же.

...