Jquery 陷入困境
我有一个称为CM的数字数组,然后我想将每个数组项计算为另一个数字的百分比,让我们称之为totalOfCM,即数组CM中所有数字的总和 是否有一种方法可以循环通过该数组并将结果放入另一个数组,而无需每次手动进行计算 这就是我目前正在做的,但我相信这会更容易:Jquery 陷入困境,jquery,arrays,Jquery,Arrays,我有一个称为CM的数字数组,然后我想将每个数组项计算为另一个数字的百分比,让我们称之为totalOfCM,即数组CM中所有数字的总和 是否有一种方法可以循环通过该数组并将结果放入另一个数组,而无需每次手动进行计算 这就是我目前正在做的,但我相信这会更容易: $(document).ready(function () { var CM = [0,5,2,0,0,0]; var totalOfCM = 0; for (var i = 0; i < CM.length
$(document).ready(function () {
var CM = [0,5,2,0,0,0];
var totalOfCM = 0;
for (var i = 0; i < CM.length; i++) {
totalOfCM += CM[i] << 0;
}
var percentage1CM = parseInt((CM[0] / totalOfCM) * 100)
var percentage2CM = parseInt((CM[1] / totalOfCM) * 100)
var percentage3CM = parseInt((CM[2] / totalOfCM) * 100)
var percentage4CM = parseInt((CM[3] / totalOfCM) * 100)
var percentage5CM = parseInt((CM[4] / totalOfCM) * 100)
var percentage6CM = parseInt((CM[5] / totalOfCM) * 100)
alert(percentage1CM);
alert(percentage2CM);
alert(percentage3CM);
alert(percentage4CM);
alert(percentage5CM);
alert(percentage6CM);
});
我当前的Jquery首先计算该数组的总和,然后我手动计算每个数组项的百分比:下面是我所做工作的一个示例
请让我知道,如果我需要做更多的解释
有人能给我指一下正确的方向吗
谢谢你的磨坊
迈克这应该可以做到:
var CM = [0,5,2,0,0,0];
// calculate sum first
var sum = CM.reduce(function(prev, current) {
return prev + current;
}, 0);
var percentages = CM.map(function(value) {
return value * 100 / sum;
});
之后,百分比是一个数组,其百分比对应于CM的每个值。使用一个简单的for循环
试着用
有什么特别的原因让你做一个“无”的事吗?我从另一个“无”的线索中找到了。我是Jqeury的新手。hahaThere没有使用问题中唯一的jQuery是文档就绪事件处理程序。请重新标记您的问题。没有清楚的说明
var percentage = []; //Declare an array
for (var i = 0; i < CM.length; i++) {
percentage.push(parseInt((CM[i] / totalOfCM) * 100)); //Add calculated percentage
}
$(document).ready(function () {
var CM = [0, 5, 2, 0, 0, 0];
var totalOfCM = 0;
for (var i = 0; i < CM.length; i++) {
totalOfCM += CM[i] << 0;
}
var arr=$(CM).map(function(i,v){
return v*100/totalOfCM;
}).get();
console.log(arr);// your final array
});