0

I am trying to create an array with multiple object with multiple options each in Javascript.

But I seem to be going in the wrong direction. What am I doing wrong here?

var group = {[
    'object1'[
        'option1' : 'data1.1',
        'option2' : 'data1.2',
        'option3' : 'data1.3',
    ],
    'object2'[
        'option1' : 'data2.1',
        'option2' : 'data2.2',
        'option3' : 'data2.3',
    ],
    'object3'[
        'option1' : 'data3.1',
        'option2' : 'data3.2',
        'option3' : 'data3.3',
    ],
]};
gespinha
  • 7,968
  • 16
  • 57
  • 91

5 Answers5

1

This object contains 3 nested object.

var group = {
    'object1': {
        'option1': 'data1.1',
        'option2': 'data1.2',
        'option3': 'data1.3'
    },
    'object2': {
        'option1': 'data2.1',
        'option2': 'data2.2',
        'option3': 'data2.3'
    },
    'object3': {
        'option1': 'data3.1',
        'option2': 'data3.2',
        'option3': 'data3.3'
    }
};
ZI TEG
  • 53
  • 3
0

You have to always use name : value pairs. Instead of [] use {} to define a map ([] is for arrays). Edit: I've overseen that before.

var group = {
    'object1': {
        'option1' : 'data1.1',
        'option2' : 'data1.2',
        'option3' : 'data1.3'
    },
    'object2': {
        'option1' : 'data2.1',
        'option2' : 'data2.2',
        'option3' : 'data2.3'
    },
    'object3': {
        'option1' : 'data3.1',
        'option2' : 'data3.2',
        'option3' : 'data3.3'
    }
};

Remove the last comma in each list - IE<=8 (I think) can't handle it. See Are trailing commas in arrays and objects part of the spec? for details.

Community
  • 1
  • 1
Wolfgang Kluge
  • 895
  • 8
  • 13
0

Some syntax problems. The code should be:

var group = [
    {
        option1: 'data1.1',
        option2: 'data1.2',
        option3: 'data1.3',
    },
    {
        option1: 'data2.1',
        option2: 'data2.2',
        option3: 'data2.3',
    },
    {
        option1: 'data3.1',
        option2: 'data3.2',
        option3: 'data3.3',
    }
];
Saravana Kumar
  • 3,669
  • 5
  • 15
  • 35
Erick Petrucelli
  • 14,386
  • 8
  • 64
  • 84
  • I need this array of objects to have a name for each object to loop through it and identify the correct option according to the specified object. Is it possible to have a name for each object? – gespinha May 29 '15 at 12:23
0

You have syntax error:

var group = [
    {
        option1: 'data1.1',
        option2: 'data1.2',
        option3: 'data1.3'
    },
    {
        option1: 'data2.1',
        option2: 'data2.2',
        option3: 'data2.3'
    },
    {
        option1: 'data3.1',
        option2: 'data3.2',
        option3: 'data3.3'
    }
];

please read about creating Objects and Arrays in javascript

Shalev Shalit
  • 1,945
  • 4
  • 24
  • 34
0

No need to give multiple array inside. To access data1.1 use group[0].option1

var group = [
 {
    'option1' : 'data1.1',
    'option2' : 'data1.2',
    'option3' : 'data1.3',
 },
 {
    'option1' : 'data2.1',
    'option2' : 'data2.2',
    'option3' : 'data2.3',
},
{
    'option1' : 'data3.1',
    'option2' : 'data3.2',
    'option3' : 'data3.3',
},
];
Dimple
  • 453
  • 9
  • 22