dataset = [
{name: "A", newCount: 1920},
{name: "B", newCount: 40},
{name: "C", newCount: 20},
// ...更多条目
]
// 计算总新增使用量
function calculateTotalNewCount(dataset) {
return dataset.reduce((total, item) => total + item.newCount, 0);
}
// 获取排名前三的条目
function getTopThreeItems(dataset, totalNewCount) {
// 计算每个条目的占比并排序
let itemsWithPercentage = dataset.map(item => ({
name: item.name,
percentage: (item.newCount / totalNewCount * 100).toFixed(2),
newCount: item.newCount
})).sort((a, b) => b.newCount - a.newCount);
// 取出前三个条目
return itemsWithPercentage.slice(0, 3);
}
// 构建输出文本
function buildOutputText(topThreeItems) {
let output = "本周新增使用量前三为";
topThreeItems.forEach((item, index) => {
output += ` ${item.name}(占比${item.percentage}%)`;
if (index < topThreeItems.length - 1) {
output += "、";
}
});
return output;
}
// 主函数:获取数据集,计算并输出结果
function main() {
// 假设这是从数据库或API获得的数据集
let dataset = [
{name: "A", newCount: 1920},
{name: "B", newCount: 40},
{name: "C", newCount: 20},
// ...更多条目
];
let totalNewCount = calculateTotalNewCount(dataset);
let topThreeItems = getTopThreeItems(dataset, totalNewCount);
let outputText = buildOutputText(topThreeItems);
// 输出最终文本到报表中的指定位置
console.log(outputText); // 在实际应用中,这里应该是设置报表组件的内容
}
// 执行主函数
main(); |