JS Problem with Arrays: Selfhtml Example doesnt work

Hi,

in order to build an Array with Objects holding some variables, I found an example at SELFHTML in a chapter about associative arrays:

var Member = new Array();

Member[0] = new Object();
Member[0]["name"] = "Andreas";
Member[0]["layer"] = 1;

Member[1] = new Object();
Member[1]["name"] = "Anke";
Member[1]["layer"] = 2;

This seems to be straight forward to me, but Unity gives me an error on “Member[0][“name”] = “Andreas”;”

MissingFieldException: Field ‘System.Object.’ not found.

Can anybody give a hint to a JS beginner?

Thanks
Andreas

you are trying to use a 1-dimensional array as multi-dimensional array.
Member[0][“name”] means that you are trying to access the array element with the index “name” of Member[0]. this would mean, that Member[0] itself would have to be an array, but the type “Object” is not an array and so it cannot be used with indices.
unity’s javascript does not exactly work like the classic javascript, so i doubt you can use all the tutorials from selfhtml

It’s more helpful if you forget about web Javascript and find some JScript docs instead, because Unityscript isn’t really that much like Javascript, but it’s a lot more like JScript.

–Eric

You can do something similar by creating an array of hashtables:

var members = Array();
members[0] = {};
members[0]["name"] = "Andreas";
members[0]["layer"] = 1;

members[1] = {};
members[1]["name"] = "Anke";
members[1]["layer"] = 2;

function Start () {
	Debug.Log(members[0]["name"]);
}