Javascript 创建地图对象

Javascript 创建地图对象,javascript,angularjs,Javascript,Angularjs,我有一个地图daySubjects和subject数组我还有days数组来存储'周日到周六' 我必须使用这些变量创建这样的json { "daySubjects": { "MONDAY": { "subject": [ ] }, "TUESDAY": { "subject": [ ] }, "WEDNESDAY": { "subject": [ ]

我有一个地图
daySubjects
subject
数组我还有
days
数组来存储'
周日到周六
' 我必须使用这些变量创建这样的json

{
"daySubjects": {
    "MONDAY": {
        "subject": [

        ]
    },
    "TUESDAY": {
        "subject": [

        ]
    },
    "WEDNESDAY": {
        "subject": [

        ]
    },
    "THURSDAY": {
        "subject": [

        ]
    },
    "FRIDAY": {
        "subject": [

        ]
    },
    "SATURDAY": {
        "subject": [

        ]
    },
    "SUNDAY": {
        "subject": [

        ]
    }
}

}

好的,如果我正确理解了问题,下面是简单的javascript代码示例:

var days = ["sun","mon","tue","wed","thu","fri","sat"];
var result = {
    daySubjects : {}
};
days.forEach(
    function(i){ 
        result.daySubjects[i] = { subject:[] };
    }
);
执行此行后,结果对象将包含:

{
    "daySubjects": {
        "sun": {
            "subject": []
        },
        "mon": {
            "subject": []
        },
        "tue": {
            "subject": []
        },
        "wed": {
            "subject": []
        },
        "thu": {
            "subject": []
        },
        "fri": {
            "subject": []
        },
        "sat": {
            "subject": []
        }
    }
}
在javascript中,必须注意定义所引用的对象。例如:

var test = {};

// fails because test.x is not defined
test.x[0] = 10;

//works cause you create array object before using it
test.x = [];
test.x[0] = 10;

然而,更简单的是,您可以一次性定义整个嵌套JSON对象结构。

cool。但为什么是angularjs?您可能想检查库,它提供了一个很好的方法集合来处理集合中的常见任务。angular或javascript任何东西都可以,您可以演示如何使用所提到的变量使其至少持续一天吗?我无法实现这一点,我尝试了
var subject=[]
$scope.timeline.daycoms[“sunday”]=主题
为什么这些家伙投反对票,请提一下我的错误,我是新手,我只能猜测原因,但是。我认为,最大的问题是,这是一个相当琐碎的问题,而你只是授权,而不是自己做。