2017-09-18 148 views
1
month=[1,2,3,4,5,6,7,8,9] 

这是从服务器获取的数组。如何获得月份名称?如何从月份数中获取月份名称

直到现在我尝试这样做:

var populateChartData = function (data) { 
    var getMonth = []; 
    var getProfit = []; 
    $scope.chartTitle = 'Year :' + moment().year(); 
    data.forEach(function (obj) { 
     console.log(obj.month); 
     getMonth.push(moment().month(obj.month).format('MMM')); 
    }); 
    console.log(getMonth); 
}; 

但在控制台我得到

["Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct"] 

我应该得到这样

["Jan","Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"] 

回答

3

你可以只创建自己的过滤器是这样的:否则,通过索引到一个功能,并得到月份名称

myApp.filter('monthName', [function() { 
    return function (monthNumber) { //1 = January 
     var monthNames = [ 'January', 'February', 'March', 'April', 'May', 'June', 
      'July', 'August', 'September', 'October', 'November', 'December' ]; 
     return monthNames[monthNumber - 1]; 
    } 
}]); 
1

我想你应该从0试试索引在array array.or中,而迭代该数组则将该值放置为-1。

2

0对应于1月1日至2月等等(从0到11)。它以这样的方式完成,因为索引通常从0开始。因此,从视图0编程点是一个不错的选择一月

0

我做了如下

 var populateChartData = function (data) { 
     var getMonth = []; 
     var getProfit = []; 

     data.forEach(function (obj) { 

      getMonth.push(moment().month(obj.month-1).format('MMM')); 
     }); 
     console.log(getMonth); 
    };