Javascript-将数字转换为月份名称

pea*_*uck 4 javascript foreach loops numbers

我有一个非常简单的问题,但是由于某种原因我找不到答案。

label.forEach(function(value){
    months.push(value['month']);
    revenue.push(value['revenue']);
});
Run Code Online (Sandbox Code Playgroud)

label是数字和收入的数组,于我而言,这是

[
{month: 9, revenue: 400}, 
{month: 11, revenue: 500},
{month: 12, revenue: 600}
]
Run Code Online (Sandbox Code Playgroud)

这是javascript中的forEach循环,它将收入和月份数推入两个单独的数组中,问题是月份是一个数字(例如12),但是我希望.push()改为推一个月份名称(十二月) ,我似乎什么也找不到,所以我希望这里的任何人都能帮助我。

小智 14

Intl.DateTimeFormat('en', { month: 'long' }).format(new Date('1')); // January
Run Code Online (Sandbox Code Playgroud)

可以使用国际化API来实现


小智 5

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

var selectedMonthName = months[value['month']];
Run Code Online (Sandbox Code Playgroud)

看链接

堆栈1

  • 如果月份从 1 开始(一月是 1),则必须像这样“var selectedMonthName = Months[value['month'] - 1];”访问月份,因为一月的索引为 0 (3认同)

小智 5

这可以使用 moment.js 轻松完成。

var months = [];
months.push(moment().month(0).format("MMMM"));
console.log(months);
Run Code Online (Sandbox Code Playgroud)
<script src="https://momentjs.com/downloads/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)