我有一个非常简单的问题但由于某种原因我无法找到答案。
label.forEach(function(value){
months.push(value['month']);
revenue.push(value['revenue']);
});
label
是数字和收入的数组,在我的例子中是
[
{month: 9, revenue: 400},
{month: 11, revenue: 500},
{month: 12, revenue: 600}
]
这是javascript中的forEach循环,它将收入和月份数推入两个单独的数组,问题是月份是一个数字(例如12),但我希望.push()推送一个月的名称(12月),我似乎找不到任何东西,所以我希望这里有人可以帮助我。
答案 0 :(得分:2)
var months = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];
var selectedMonthName = months[value['month']];
查看链接
答案 1 :(得分:0)
这可以使用moment.js轻松完成。
var months = [];
months.push(moment().month(0).format("MMMM"));
console.log(months);
<script src="https://momentjs.com/downloads/moment.min.js"></script>
答案 2 :(得分:0)
您可以尝试以下操作:
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);
答案 3 :(得分:0)
{{1}}
答案 4 :(得分:0)
Intl.DateTimeFormat('en', { month: 'long' }).format('1'); // January
实现
答案 5 :(得分:0)
另一种简单的操作方法是使用地图,像这样创建一个
const monthNumberToLabelMap = {
[1]: 'January',
[2]: 'February',
[3]: 'March',
[4]: 'April',
[5]: 'May',
[6]: 'June',
[7]: 'July',
[8]: 'August',
[9]: 'September',
[10]: 'October',
[11]: 'November',
[12]: 'December',
}
然后像这样在代码中使用地图
label.forEach(function(value){
months.push(monthNumberToLabelMap[value['month']]);
revenue.push(value['revenue']);
});
注意:
不清楚您的月份数据的格式是什么,默认的javascript月份是0-11,在这种情况下您会更改我的地图