2017-05-09 12 views
-2

私は他のStackOverflowの同様の質問を見た。しかし、それらは私が探しているものとはかなり異なっています。forループ内にオブジェクトを作成する際にJavaScriptオブジェクトを別のJavaScriptオブジェクトの中に追加するにはどうすればよいですか?

var schemaField = {}, 
       validation = {}; 
      for (var i = 0; i < gridConfig.Schemas.length; i++) { 
       var schema = gridConfig.Schemas[i]; 
       schemaField[schema.FieldName] = { 
        type: schema.FieldType, 
        editable: schema.FieldEditable, 
        //Below block is wrong, but this is what I am trying to achieve 
        validation = { 
         required: schema.FieldRequired 
        }       
       } 
      } 

私はschemaField [schema.FieldName]主な目的の下にその検証オブジェクトを追加する必要があります。助けてください!!!

+1

'validation:{' –

+1

なぜ動作していないもののために何か違うことをしましたか? –

答えて

0

あなたはこれを実行する必要があります。

schemaField[schema.FieldName] = { 
    type: schema.FieldType, 
    editable: schema.FieldEditable, 
    validation: { // note the ":" 
     required: schema.FieldRequired 
    } 
} 

オブジェクトは、単にJavaScriptでのマップ(辞書)です。オブジェクトのリテラル表記をそのまま使用することができます。key: valuevalueは、別のオブジェクトリテラルを含む何でもかまいません。

+0

夏に感謝します。愚かな私 –

0
var schemaField = {}, 
validation = {}; 
for (var i = 0; i < gridConfig.Schemas.length; i++) { 
    var schema = gridConfig.Schemas[i]; 
    schemaField[schema.FieldName] = { 
     type: schema.FieldType, 
     editable: schema.FieldEditable, 
     //Don't assign using = but : 
     validation: { 
      required: schema.FieldRequired 
     } 
    } 
    //Or if you want to assign outside 
    //schemaField[schema.FieldName].validation = { 
    // required: schema.FieldRequired 
    //}      
    } 
+0

ありがとうTremmillicious –

関連する問題