有没有办法我可以完成不完整的月份中缺少的月份和销售。
有时我会收到这样的查询:
var sales = [
{'month': '04', 'sale': 126},
{'month': '06', 'sale': 165},
{'month': '07', 'sale': 10},
{'month': '08', 'sale': 20},
{'month': '09', 'sale': 211},
{'month': '10', 'sale': 27},
{'month': '11', 'sale': 112},
];
Run Code Online (Sandbox Code Playgroud)
我需要添加销售缺失的月份:0。
我以为我可以用所有月份制作第二个数组,然后比较这两个数组,然后选择所有月份中的重复数组:
var compareArray = [
{'month': '01', 'sale': 0},
{'month': '02', 'sale': 0},
{'month': '03', 'sale': 0},
{'month': '04', 'sale': 0},
{'month': '05', 'sale': 0},
{'month': '06', 'sale': 0},
{'month': '07', 'sale': 0},
{'month': '08', 'sale': 0},
{'month': '09', 'sale': 0},
{'month': '10', 'sale': 0},
{'month': '11', 'sale': 0},
{'month': '12', 'sale': 0},
];
Run Code Online (Sandbox Code Playgroud)
您可以使用Array(12).keys()并使用Array.from将其映射到所需的输出,而不是预定义12个条目的数组:
var sales = [{'month': '04', 'sale': 126}, {'month': '06', 'sale': 165}, {'month': '07', 'sale': 10}, {'month': '08', 'sale': 20}, {'month': '09', 'sale': 211}, {'month': '10', 'sale': 27}, {'month': '11', 'sale': 112}];
sales = Array.from(Array(12).keys(), month =>
sales.find(sale => +sale.month === month+1) || { month: ("0"+(month+1)).substr(-2), sale: 0 }
);
console.log(sales);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |