国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

高端品牌網(wǎng)站制作黃頁推廣2021

高端品牌網(wǎng)站制作,黃頁推廣2021,百度推廣讓我先做虛擬網(wǎng)站后,述職報告ppt免費模板下載在開發(fā)項目的過程中有時候需要進(jìn)行計算百分比,例如計算餅狀圖百分比。有時候在計算的過程中常規(guī)四舍五入計算會發(fā)生所有計算的值相加不等于100%的情況 這是 get_percent_value 函數(shù)的 JavaScript 版本: /*** 最大余額法,解決百分比計算相加不…

在開發(fā)項目的過程中有時候需要進(jìn)行計算百分比,例如計算餅狀圖百分比。有時候在計算的過程中常規(guī)四舍五入計算會發(fā)生所有計算的值相加不等于100%的情況
這是 get_percent_value 函數(shù)的 JavaScript 版本:

/*** 最大余額法,解決百分比計算相加不等于100%(扇形/餅圖百分比使用的此算法)* @param {Array} valueList 二維數(shù)組 [{value: 1}, {value: 2}, {value: 3}]* @param {string} contKey 要統(tǒng)計的字段* @param {number} precision 精度(默認(rèn)為2保留百分比格式的兩位小數(shù))* @param {string} percentKey 百分比鍵名* @param {boolean} format 是否需要返回格式化后百分比格式,false則返回小數(shù)* @return {Array}*/
function getPercentValue(valueList, contKey, precision = 2, percentKey = 'percent', format = true) {if (valueList.length === 0) {return [];}// 求和const sum = valueList.reduce((acc, item) => acc + item[contKey], 0);// 如果總和為0,直接返回if (sum === 0) {return valueList.map(item => ({...item,[percentKey]: format ? '0%' : 0}));}// 計算精度const digits = Math.pow(10, precision);let currentSum = 0;let remainder = [];// 計算每個項目的整數(shù)和余數(shù)部分valueList.forEach((item, index) => {const votesPerQuota = (item[contKey] / sum) * digits * 100;const integerPart = Math.floor(votesPerQuota);valueList[index].integer = integerPart;remainder[index] = votesPerQuota - integerPart;currentSum += integerPart;});const targetSeats = digits * 100;// 找到最大余數(shù)并加1,直到總數(shù)達(dá)到目標(biāo)while (currentSum < targetSeats) {const maxIndex = remainder.indexOf(Math.max(...remainder));valueList[maxIndex].integer++;remainder[maxIndex] = -1; // 確保該余數(shù)不會再被選中currentSum++;}// 生成最終的百分比值valueList.forEach(item => {item[percentKey] = (item.integer / targetSeats).toFixed(precision + 2);if (format) {item[percentKey] = (parseFloat(item[percentKey]) * 100).toFixed(precision) + '%';}delete item.integer;});return valueList;
}// 使用示例
const data = [{ value: 3 },{ value: 3 },{ value: 3 }
];const rateData = getPercentValue(data, 'value', 2, 'percent', false);
console.log(rateData);

說明:

  • reduce 用于求和。
  • Math.floor 用于獲取整數(shù)部分。
  • Math.maxindexOf 用于找到最大余數(shù)的位置。
  • toFixed 保留指定的小數(shù)位數(shù)。

你可以通過 getPercentValue 函數(shù)來計算各項的百分比,并決定是否返回格式化的百分比形式。

http://aloenet.com.cn/news/43088.html

相關(guān)文章:

  • 老薛主機做電影網(wǎng)站怎么在百度發(fā)布免費廣告
  • 深圳 營銷型網(wǎng)站建設(shè)百度引擎搜索
  • 南陽公司做網(wǎng)站武漢seo搜索優(yōu)化
  • 外貿(mào)推廣網(wǎng)站有哪些徐州百度seo排名優(yōu)化
  • 網(wǎng)站升級方案渠道推廣平臺
  • 主要的網(wǎng)站開發(fā)技術(shù)路線seo快速排名優(yōu)化方式
  • 做游戲數(shù)據(jù)分析的網(wǎng)站游戲推廣引流
  • 制作網(wǎng)站首先要知道什么鄭州網(wǎng)站推廣優(yōu)化公司
  • wordpress你訪問的網(wǎng)站不存在網(wǎng)址網(wǎng)域ip地址查詢
  • 論壇網(wǎng)站建設(shè)推廣優(yōu)化網(wǎng)絡(luò)營銷客服主要做什么
  • 北京網(wǎng)站開發(fā)建設(shè) 58同城抖音搜索引擎推廣
  • 濱州網(wǎng)站建設(shè)phpi百度網(wǎng)盤帳號登錄入口
  • 楊莊網(wǎng)站建設(shè)廣告推廣渠道有哪些
  • 龍崗企業(yè)網(wǎng)站制作公司資源
  • 微信公眾平臺官方網(wǎng)谷歌網(wǎng)站推廣優(yōu)化
  • 網(wǎng)站怎樣做自適應(yīng)分辨率大小公司網(wǎng)絡(luò)推廣該怎么做
  • laravel 做網(wǎng)站宣傳軟文
  • 微商水印相機做網(wǎng)站cps推廣平臺
  • 區(qū)塊鏈開發(fā)技術(shù)的應(yīng)用做神馬seo快速排名軟件
  • 太原網(wǎng)站建設(shè)制作寧波seo優(yōu)化定制
  • 優(yōu)酷專門給馬天宇做的網(wǎng)站優(yōu)化大師下載安裝app
  • 東莞seo建站如何推廣長沙服務(wù)好的網(wǎng)絡(luò)營銷
  • 數(shù)商云價格江西seo推廣
  • virmach搭建wordpress蘇州seo網(wǎng)站推廣哪家好
  • 河北云建站鄭州seo優(yōu)化大師
  • 自己做盜版影視網(wǎng)站如何優(yōu)化培訓(xùn)體系
  • 微信漫畫網(wǎng)站模板百度外推代發(fā)排名
  • 開平做網(wǎng)站百度官方版
  • 賣掉的網(wǎng)站了對方用來做違法短鏈接在線生成免費
  • 各種網(wǎng)站解決方案免費建站建站abc網(wǎng)站