计算对象键值并将其转换为百分比(100%)
calculate and transform object key values into percentages (on 100%)
我有这个对象:
myObj = {
red: "332",
green: "632",
yellow: "14",
brown: "45",
pink: "83",
violet: "21",
gray: "100",
black: "33",
white: "200"
};
我需要计算这些对象键值并将其转换为百分比(100%)
有没有办法做到这一点?
如果您希望
根据最高数字获取百分比,这里有一个包含两个循环的示例(一个用于查找最大值,另一个用于更改实际值):
var res = document.getElementById('r');
var myObj = {
red: "332",
green: "632",
yellow: "14",
brown: "45",
pink: "83",
violet: "21",
gray: "100",
black: "33",
white: "200"
};
var max = 0;
for (var i in myObj) { // we find the max here
if (parseInt(myObj[i], 10) > max)
max = myObj[i];
}
for (var i in myObj) { // we do the conversion here
myObj[i] = (myObj[i] / max * 100) + "%";
res.innerHTML += "<br>" + i + ": " + myObj[i]; // html output
}
<div id="r"></div>
如果您希望获得总计的百分比(总计是所有值的总和):
var res = document.getElementById('r');
var myObj = {
red: "332",
green: "632",
yellow: "14",
brown: "45",
pink: "83",
violet: "21",
gray: "100",
black: "33",
white: "200"
};
var total = 0;
for (var i in myObj) { // we find the total here
total += parseInt(myObj[i], 10);
}
for (var i in myObj) { // we do the conversion here
myObj[i] = (myObj[i] / total * 100) + "%";
res.innerHTML += "<br>" + i + ": " + myObj[i]; // html output
}
<div id="r"></div>
注意:您可能希望将这些数字四舍五入为较少的小数位数。
首先,您需要找到最大的数字。然后,您需要使用它来查找百分比。所以,假设你发现 632 是最大的数字。每个其他数字的百分比将是该数字除以 632。
相关文章:
- 如果宽度是百分比,如何设置以px为单位的图像高度
- 使用javascript可以设置css动画的当前百分比
- 当我使用高度百分比时,谷歌地图javascript api不会显示
- Javascript差异百分比数学
- 有没有写100以上的索引的捷径
- 我如何使脚本使用百分比
- 宽度为100%的CSS元素位于视口之外
- 根据元素高度和宽度的百分比变化增加或减少字体大小
- 在Javascript中计算并显示具有2个税收百分比的现有总值
- d3使用样式Tween的百分比转换
- 如何在jQuery Mobile中设置100%宽度的输入类型日期
- 一旦总和达到100,就禁用其余的数字框
- 如何在jquery中设置100%的宽度百分比
- 高图表堆积百分比柱形图可以小于 100% 吗?
- 计算对象键值并将其转换为百分比(100%)
- 大于 0 且小于或等于 100 的百分比的正则表达式
- 100%在使用javascript的复选框数量上分割百分比
- 用(可变*百分比)/100替换字符串中的%[可变,百分比]的最佳方法是什么?
- 百分比在0和100之间的javascript正则表达式
- JavaScript-将3个数字转换为百分比,没有't总收率为100%