web-dev-qa-db-fra.com

Javascript - convertir le nombre en nom de mois

J'ai un problème très simple, mais pour une raison quelconque, je ne peux pas trouver la réponse.

label.forEach(function(value){
    months.Push(value['month']);
    revenue.Push(value['revenue']);
});

Le label est un tableau de nombres et de revenus, dans mon cas c'est

[
{month: 9, revenue: 400}, 
{month: 11, revenue: 500},
{month: 12, revenue: 600}
]

Ceci est une boucle forEach en javascript, elle pousse les revenus et un numéro de mois dans deux tableaux séparés, le problème est que le mois est un nombre (par exemple 12) mais je veux que .Push () pousse un nom de mois à la place (décembre) , Je n'arrive pas à trouver quoi que ce soit, alors j'espérais que quelqu'un ici pourrait m'aider.

7
peaceduck
var months = [ "January", "February", "March", "April", "May", "June", 
           "July", "August", "September", "October", "November", "December" ];

var selectedMonthName = months[value['month']];

regardez les liens

pile 1

8
Oğuzhan

Cela peut être facilement fait en utilisant moment.js.

var months = [];
months.Push(moment().month(0).format("MMMM"));
console.log(months);
<script src="https://momentjs.com/downloads/moment.min.js"></script>
1
Dineth Cooray

Vous pouvez essayer ce qui suit:

var label = [{month: 9, revenue: 400}, 
            {month: 11, revenue: 500},
            {month: 12, revenue: 600}]

var months = [];
var revenue = [];
var m = [ "January", "February", "March", "April", "May", "June", 
           "July", "August", "September", "October", "November", "December" ];

label.forEach(function(value){
    var monthName = m[value.month - 1];
    months.Push(monthName);
    revenue.Push(value.revenue);
});

console.log('Months Array: ', months);
console.log('Revenue Array:', revenue);
0
Mamun