親オブジェクトの子としてforループでオブジェクトを作成したいと思います。通常、次のようにforループを使用せずにオブジェクトを宣言します。
var mObj = {};
mObj.obj1 = {};
mObj.obj2 = {};
mObj.obj3 = {};
mObj.obj3.firstname = "john";
mObj.obj3.lastname = "superfly";
ここで、forループを使用して、親オブジェクト「mObj」の子オブジェクトを作成するとします。
これは私が間違っているところです:
var mArr = ["firstname","lastname","email"]; // This array holds the keys for the objects
var mObj = {};
var len = (mArr.length);
for(var i=0; i<len; i++){
var obj+i = {}
mObj = obj+i;
mObj.obj + i.mArr[i] = ""
}
したがって、これの結果は次のようになります。
mObj.obj1.firstname = "";
mObj.obj2.lastname = "";
mObj.obj3.email = "";
次のように、forループ内で作成されているカウンターでオブジェクトに名前を付けることができないようです。
obj1
obj2
obj3
どんな助けでも大歓迎です。
ありがとう。