2017-09-18 213 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); 
    };