@null ist richtig wie üblich, ich habe nur dieses Beispiel hinzugefügt, um die große Zahl zu realisieren. Sie können auch diese in einer Schleife initialisieren, so Sie können machen, was Sie wollen (als null Sie vorgeschlagen) ...
var myArray:Array = ["a", "b", "c"];
var mySecondArray:Array = ["a", "b", "c"];
var myValues:Array = ["first element", "secondt element", "third element"];
var relValues:Array = [150, 75, 500];
var indexedValues:Array = [1, 2, 3];
var myObject:Object;
var mySecondObject:Object;
function converArraytToObject(myArray:Array, myValues:Array):Object{
var o:Object=new Object();
for(var i:uint = 0; i < myArray.length; i ++){
o[myArray[i].toString()] = myValues[i].toString();
}
return o;
}
trace(myObject["a"]);
// outputs "first element"
trace(myObject["b"]);
// outputs "second element"
trace(myObject["c"]);
// outputs "third element"
// or
trace(" ***UNSORTED");
for (var j in myObject){
trace ("index name = [" + j + "] = " +myObject[j]);
}
// or
trace(" ***SORTED by index");
for (var k = 0 ; k < myArray.length ; k++){
trace ("index name = [" + myArray[k] + "] = " + myObject[myArray[k]]);
}
//or
trace(" ***UNSORTED");
for (var l in mySecondObject){
trace ("index name = [" + l + "] = " + mySecondObject[l]);
}
//or
trace(" ***SORTED by index");
for (var m = 0 ; m < myArray.length ; m++){
trace ("index name = [" + myArray[m] + "] = " + mySecondObject[myArray[m]]);
}
OUTPUT:
Wenn Sie die gleichen Instanzen gespeichert werden sollen von Als Klasse empfehle ich Ihnen, die Vector-Klasse anstelle von Array zu verwenden.
first element
secondt element
third element
***UNSORTED
index name = [c] = third element
index name = [a] = first element
index name = [b] = secondt element
***SORTED by index
index name = [a] = first element
index name = [b] = secondt element
index name = [c] = third element
***UNSORTED
index name = [c] = 3
index name = [a] = 1
index name = [b] = 2
***SORTED by index
index name = [a] = 1
index name = [b] = 2
index name = [c] = 3
ActionScript 3 fundamentals: Arrays
ActionScript 3 fundamentals: Associative arrays, maps, and dictionaries
ActionScript 3 fundamentals: Vectors and ByteArrays
Ich verstehe nicht, was "myObj [" a "] [" b "] [" c "] [...] = 20 "bedeutet. Ich habe diese Syntax in AS3 nie gesehen. Vielleicht bin ich nur, weil ich ziemlich neu in AS3 bin, aber so habe ich es noch nie gesehen. Ich würde erwarten, dass dies alle möglichen Fehler verursacht. Weil Sie ein Objekt gleich einer Ganzzahl setzen. Was könntest du möglicherweise damit meinen? Ein Objekt kann nicht '=' eine ganze Zahl sein. Oder meinst du, es gibt 20 Eigenschaften im Objekt? Das ist sehr verwirrend –
vielleicht meinst du es so zu schreiben wie 'myObj = {" a ": String," b ": String," c ": String, ..." t ": String};' –
@NealDavis myObj ist ein Objekt, das ein anderes Objekt (Multilayer) enthält. Der Wert von myObj ["a"] ist ein Objekt, das den Schlüssel "b" und den Wert eines anderen Objekts enthält, das den Schlüssel "c" und ... enthält Sie können es als ein JSON-Format betrachten: { "a": { "b": { "c": { ... } } } } – zeroflaw