数组对象中的某一项求和比例
export function ArrayCalculation(data, mark) {
// 百分比数组集合 小数
let percentage = []
let sum = data.reduce((pre, cur) => pre + Number(cur[`${mark}`] || 0), 0)
if (sum) {
data.forEach(item => {
let peritem = parseFloat((item[`${mark}`] / sum).toFixed(2))
percentage.push({ ...item, 'ratio': peritem })
})
} else {
data.forEach(item => {
percentage.push({ ...item, 'ratio': 0 })
})
// percentage = Array.from({ length: data.length }, () => ({ 'ratio': 0 })) // [ {}, {}, {} ]
}
return { sum, percentage }
}