javascript - 如何使用 javascript 访问 json 对象 0

标签 javascript angularjs json

我假装将假期变量的 console.log 出现在列表中而不是作为数组。如何以简单对象的形式获取此信息?

我的 json:

[{
    "2016-10-10":[{"name":"Columbus Day","country":"US","date":"2016-10-10"}],
    "2016-10-31":[{"name":"Halloween","country":"US","date":"2016-10-31"}]
}]

我的应用程序:

app.factory('calendario', function($http) {    
    return{
        getJobs : function() {
            return $http({
                url: '/app/components/home/controller/test_calendar.json',
                method: 'GET'
            })
        }
    }     
}); 

Controller :

    var holidays = [];

    calendario.getJobs().success(function(data){
        holidays.push(data[0]);
    }); 

    $scope.setDayContent = function(date) {

        console.log(holidays);

}; 

示例:

我想要这个

enter image description here

我不想要这个

enter image description here

最佳答案

你想压平它,所以,Nick是对的,不要使用数组,而是使用dict/hash。如果您的功能受到影响,您可以使用一些解决方法:

var holidays = [{
    "2016-10-10":[{"name":"Columbus Day","country":"US","date":"2016-10-10"}],
    "2016-10-31":[{"name":"Halloween","country":"US","date":"2016-10-31"}]
    }];
var flatten_holidays = holidays.reduce(function(elem){return elem});

我不觉得这是专门的 AngularJS 问题,更像是常见的 JavaScript 问题。 对于您的示例,它将是:

var holidays = [];

calendario.getJobs().success(function(data){
    holidays.push(data[0]);
}); 

$scope.setDayContent = function(date) {
    console.log(holidays.reduce(function(elem){return elem}));
};

或者,如果首选使用 dict/hash:

var holidays = {};

calendario.getJobs().success(function(data){ 
//if data is: {"2016-10-10":[{"name":"Columbus day","country":"US","date":"2016-10-10"}]}
var key = Object.keys(data)[0];
var value = data[key];
holidays[key] = value;
}); 

$scope.setDayContent = function(date) {
    console.log(holidays);
};

关于javascript - 如何使用 javascript 访问 json 对象 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638733/

相关文章:

json - 将 JSON 数据存储到 CoreData

javascript - 无法将 json 数据传递给 Ajax 函数

php - 将数据库查询结果格式化为 JSON 数组并读入表单

javascript - 基于复选框添加和删除 URL 参数

javascript - MVC .NET 提示用户登录

javascript - angularjs 和范围问题(我认为)

angularjs - Angular ui-grid 自定义过滤器不能用作 headerCellTemplate

javascript - 为匹配/不匹配的正则表达式返回 true/false

javascript - 设置窗口调整大小函数的执行延迟

angularjs - ng-maxlength 搞砸了我的模型