2017-12-11 15 views
0

の要素名を追加test.grade、test.name、およびtest.areaで要素にアクセスできるようにします。私は、各インデックスに名前を追加する最も基本的な方法を考えることができますが、これを行う最もエレガントな方法は何ですか? Iはそれぞれに名前しようとしている</p> <blockquote> <p>VARテスト= [{...}、{...}、{...}]</p> </blockquote> <p>以下のように、私は変数を以下ているネストされたオブジェクトに

var columns = // 
    var a= {}; 
    var b= {}; 
    var c= {}; 

    for(var i =0; i< columns.length; i++){ 
     a[columns[i]] = this.geta[i]; 
     b[columns[i]] = this.getb[i]; 
     c[columns[i]] = this.getc[i]; 

    } 

    var test = []; 
    var Name0 = "name"; 
    var Name1 = "grade"; 
    var Name2 = "area"; 

    test.push(a,b,c); 

//test = [{name: Mike, grade: 10}}, {name: Sarah, grade:25}},{name:chris, grade:0}}] 

この

は、私はフォーマットする方法です

[{A:{名:マイク、グレード:10}}、{B:{名:サラ、グレード:25}} 、{C:{名前:クリスは、グレード:0}}]

その後、私は要素にアクセスしたい、例えば、res.A.nameまたはres.B.grade ...

+0

LNorth、LSouth、およびLWestはどこから入手していますか? – chrisz

+0

申し訳ありません間違った名前..更新! –

+0

'test.push({grade:10、person:" Cho "、area:" devtools "})'はどうでしょうか? –

答えて

0

の場合ドット表記で何かにアクセスしたい対象となるULDので、次にあなたがこの

test[0].person; 
test[0].grade; 
test[0].area; 

EDITのような要素のテスト配列の要素やプロパティにアクセスすることができます

test.push({ 
    grade:"grade", 
    person:"person", 
    area:"area" 
}); 

: を対象

test={}; 
test['Name0']={person:"person1",grade:1,area:"..."}; 
test['Name1']={person:"person2",grade:1,area:"..."}; 
test['Name2']={person:"person3",grade:1,area:"..."}; 

やアクセスなどのよう

test.Name0.person 

または使用する名前は文字列なので、/ foreachに使用してください

+0

はい..しかし、インデックスでアクセスするのではなくオブジェクトとして名前を追加したいと思います。私は何もハードコードしたくない。たとえば、test.info.person –

+0

@ChoChangチェック編集部分 –

関連する問題