2009-12-01 10 views
32

He intentado ver si esto es posible, pero no puedo encontrar mi respuesta.¿Matriz dentro de un objeto Javascript?

Estoy intentando conseguir el siguiente para el trabajo:

var defaults = { 
'background-color': '#000', 
color: '#fff', 
weekdays: {['sun','mon','tue','wed','thu','fri','sat']} 
}; 

Simplemente da un error, y he intentado usar ({...}) y [{...}] me gustaría ser capaz de acceder a los días de la semana utilizando somthing como:

defaults.weekdays[0]; 

¿Esto es posible?

+5

usted no está mencionando esto, y nadie ha comentado todavía, pero si quieres un guión en una llave como 'fondo-color', necesita ser citado. Ej '" color de fondo ": '# 000'' –

+5

Nota rápida:' [] 'es para matrices,' {} 'es para objetos –

+0

Gracias CresentFresh, agregué las comillas, pero no era el problema que estaba toparse con :) – Mottie

Respuesta

67

Kill the braces.

var defaults = { 
backgroundcolor: '#000', 
color: '#fff', 
weekdays: ['sun','mon','tue','wed','thu','fri','sat'] 
}; 
+1

También asegúrese de que no tiene una coma al final después de la final], o su código se romperá en IE7. –

+4

... y solo IE7 :( –

+0

Ahhh ok gracias! – Mottie

10
// define 
var foo = { 
    bar: ['foo', 'bar', 'baz'] 
}; 

// access 
foo.bar[2]; // will give you 'baz' 
+2

Puedes hacer como var foo = {bar: []} y luego decir foo.bar [7] = 'hola'; como puedes cuando está fuera de un objeto? – HumbleWebDev

0
var obj = { 
webSiteName: 'StackOverFlow', 
find: 'anything', 
onDays: ['sun'  // Object "obj" contains array "onDays" 
      ,'mon', 
      'tue', 
      'wed', 
      'thu', 
      'fri', 
      'sat', 
      {name : "jack", age : 34}, 
       // array "onDays"contains array object "manyNames" 
      {manyNames : ["Narayan", "Payal", "Suraj"]}, //     
      ] 
}; 
0

var defaults = { 
 
       "background-color": "#000", 
 
       color: "#fff", 
 
       weekdays: [ 
 
          {0: 'sun'}, 
 
          {1: 'mon'}, 
 
          {2: 'tue'}, 
 
          {3: 'wed'}, 
 
          {4: 'thu'}, 
 
          {5: 'fri'}, 
 
          {6: 'sat'} 
 
          ] 
 
       }; 
 
       
 
console.log(defaults.weekdays[3]);

Cuestiones relacionadas