在另一个对象中声明对象数组

时间:2015-02-08 18:52:19

标签: javascript arrays javascript-objects

我最近进入了javascript(大约四天前),我遇到了一些适应语法的麻烦。我正在创建各种日历,我正在尝试在我的“主”对象(日历)中声明一系列对象(每月一个)。我已经做了大量的谷歌搜索并浏览了W3Schools,似乎无法弄明白。所以,如果我有

var calender = {
:
:...functions{},
months: [],

如何获取months内的对象并声明其属性(即months[0]的名称为“1月”及其天数等)?我处于概念上的停滞状态。我是通过索引完成这个索引,还是我可以在数组创建时直接声明对象?从我到目前为止所掌握的情况来看,通常我可以说var arr = {varName: "name",...(and so on)}之类的东西,但似乎不允许在括号中这样做,而且我不确定在语法上我访问索引的位置。或者也许我只是在做这个完全低音的方法。任何指导将不胜感激。感谢

2 个答案:

答案 0 :(得分:2)

单向;数组中的对象文字:

var calendar = {

    months: [
        {
            name : "Jan",
            days : 31
        },
        {
            name : "Feb",
            days : "28ish"
        }  
    ]
};

alert( calendar.months[0].days );

答案 1 :(得分:0)

让我们回到基础,这就是你如何编写文字对象,数组和包含包含包含数组的对象的数组的对象:

var my_object = {key1: "value1", key2: "value2"};
console.log(my_object.key1);

var my_array = ["value1", "value2"];
console.log(my_array[0]);

var my_compound = {a: [{b: "c", d: [0, 1, 2]},
                       {b: "e", d: [3, 4, 5]}]};
console.log(my_compound.a[1].d[0]);  // => 3
console.log(my_compound["a"][1]["d"][0]);  // same thing, perhaps more readable?