2017-05-09 1 views
-2

Ich sah andere StackOverflow ähnliche Frage. Aber diese sind ziemlich verschieden von dem, wonach ich suche.Wie fügt man ein JavaScript-Objekt in ein anderes JavaScript-Objekt ein, während die Objekte in for-Schleife erstellt werden?

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 
        }       
       } 
      } 

Ich brauche diese Validierung Objekt unter dem Hauptobjekt schemaField [schema.FieldName] hinzuzufügen. Bitte helfen !!!

+1

'Validierung: {' –

+1

Warum haben Sie etwas anderes für die eine Sache, die nicht funktioniert? –

Antwort

0

Sie müssen dies tun:

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

Objekte sind nur Karten (Wörterbücher) in JavaScript. Sie können die Objektliteralnotation einfach weiter verwenden: Dabei kann value alles sein, einschließlich eines anderen Objektliterals.

+0

Danke Sommer. Dumm ich –

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

Danke Tremmillicious –

Verwandte Themen