[Xerte] Loop through an object?

Dave Burnett d_b_burnett at hotmail.com
Thu Oct 14 12:50:31 BST 2010



I had tried without var as well. :-/

Hit the trifecta with that particular sequence.
Hyphen in xml tag drives me mad, trying to solve that hit the sendandLoad vs loadVars issue, finally get that sorted  and bang my head into the "loop an object" issue.

Oh well, went to a multi-dimension array.
Seems to work now.


From: Julian.Tenney at nottingham.ac.uk
To: xerte at lists.nottingham.ac.uk
Date: Thu, 14 Oct 2010 09:40:45 +0100
Subject: RE: [Xerte] Loop through an object?



















I remember this now, from ages ago:

http://www.freelists.org/post/flashxmlengine/Looping-arrays-and-objects,1

 

FOL I’m afraid.

 





From: xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Julian Tenney

Sent: 14 October 2010 07:29

To: Xerte discussion list

Subject: RE: [Xerte] Loop through an object?





 





take the 'var' out. We don't
have 'var'.





 











From: xerte-bounces at lists.nottingham.ac.uk [xerte-bounces at lists.nottingham.ac.uk]
On Behalf Of Dave Burnett [d_b_burnett at hotmail.com]

Sent: 14 October 2010 00:15

To: Xerte list

Subject: RE: [Xerte] Loop through an object?







Paul, tried it before I posted:



tempGroup = new Object();

tempGroup.a = "1";

tempGroup.b = "2";

tempGroup.c = "3";



for (var prop in tempGroup) {

    debug("myObject." + prop + " = " +
tempGroup[prop]);

} 







Nothing.



















Subject: RE: [Xerte] Loop through an object?

Date: Wed, 13 Oct 2010 15:46:17 -0700

From: Paul.Swanson at harlandfs.com

To: xerte at lists.nottingham.ac.uk



Use the for..in statement:

 

for..in Statement

 

Usage

               


 

for (variableIterant in object)
{

   
statement(s); 

} 

 

Player version: Flash Player 5

 

Iterates over the properties of
an object or elements in an array and executes the statement for each property
or element. Methods of an object are not enumerated by the for..in action.

 

Some properties cannot be
enumerated by the for..in action. For example, movie clip properties, such as
_x and _y, are not enumerated. In external class files, static members are not
enumerable, unlike instance members.

 

The for..in statement iterates
over properties of objects in the iterated object's prototype chain. Properties
of the object are enumerated first, then properties of its immediate prototype,
then properties of the prototype's prototype, and so on. The for..in statement
does not enumerate the same property name twice. If the object child has
prototype parent and both contain the property prop, the for..in statement
called on child enumerates prop from child but ignores the one in parent.

 

The curly braces ({}) that are
used to enclose the block of statements to be executed by the for..in statement
are not necessary if only one statement is executed.

 

If you write a for..in loop in
a class file (an external AS file), then instance members are not available for
the loop, but static members are. However, if you write a for..in loop in a FLA
file for an instance of the class, then instance members are available but
static ones are not.

 

Parameters

               
variableIterant:String — The name of a variable to act as the iterant,
referencing each property of an object or element in an array.

 

Example

 

The following example uses
for..in to iterate over the properties of an object:

 

var myObject:Object =
{firstName:"Tara", age:27, city:"San Francisco"}; 

for (var prop in myObject) { 

   
trace("myObject."+prop+" = "+myObject[prop]); 

} 

//output 

myObject.firstName = Tara 

myObject.age = 27 

myObject.city = San Francisco

 

The following example uses
for..in to iterate over the elements of an array:

 

var myArray:Array = new
Array("one", "two", "three"); 

for (var index in myArray) 

   
trace("myArray["+index+"] = " + myArray[index]); 

// output: 

myArray[2] = three 

myArray[1] = two 

myArray[0] = one

 

The following example uses the
typeof operator with for..in to iterate over a particular type of child:

 

for (var name in this) { 

    if (typeof
(this[name]) == "movieclip") { 

       
trace("I have a movie clip child named "+name); 

    } 

}

 

Note: If you have several movie
clips, the output consists of the instance names of those clips.

 

The following example
enumerates the children of a movie clip and sends each to Frame 2 in its
respective Timeline. The RadioButtonGroup movie clip is a parent with three
children: _RedRadioButton_, _GreenRadioButton_,, and _BlueRadioButton_.

 

for (var name in
RadioButtonGroup) { RadioButtonGroup[name].gotoAndStop(2); }

 







From:
xerte-bounces at lists.nottingham.ac.uk
[mailto:xerte-bounces at lists.nottingham.ac.uk] On Behalf Of Dave Burnett

Sent: Wednesday, October 13, 2010 3:35 PM

To: Xerte list

Subject: [Xerte] Loop through an object?





 



myobject = new Object();





myobject[130] = "alpha";

myobject[230] = "bravo";

myobject[330] = "charlie";



Not knowing the numerics that will wind up in there, how do I loop through it?



e.g. I want to match the alpha values to something else and get the property.















This message and any attachment
are intended solely for the addressee and may contain confidential information.
If you have received this message in error, please send it back to me, and
immediately delete it. Please do not use, copy or disclose the information
contained in this message or in any attachment. Any views or opinions expressed
by the author of this email do not necessarily reflect the views of the
University of Nottingham. 

This message has been checked
for viruses but the contents of an attachment may still contain software
viruses which could damage your computer system: you are advised to perform
your own checks. Email communications with the University of Nottingham may be
monitored as permitted by UK legislation. 







_______________________________________________ Xerte mailing list
Xerte at lists.nottingham.ac.uk
http://lists.nottingham.ac.uk/mailman/listinfo/xerte This message and any
attachment are intended solely for the addressee and may contain confidential
information. If you have received this message in error, please send it back to
me, and immediately delete it. Please do not use, copy or disclose the
information contained in this message or in any attachment. Any views or
opinions expressed by the author of this email do not necessarily reflect the
views of the University of Nottingham. This message has been checked for
viruses but the contents of an attachment may still contain software viruses
which could damage your computer system: you are advised to perform your own
checks. Email communications with the University of Nottingham may be monitored
as permitted by UK legislation. 











_______________________________________________
Xerte mailing list
Xerte at lists.nottingham.ac.uk
http://lists.nottingham.ac.uk/mailman/listinfo/xerte

This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it.   Please do not use, copy or disclose the information contained in this message or in any attachment.  Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.

This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation. 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.nottingham.ac.uk/pipermail/xerte/attachments/20101014/725e1a31/attachment.html


More information about the Xerte mailing list