网页通过循环将数据输出,现要求通过JS来计算差价物料号 单价1 数量1 单价2 数量2 单价3 数量3 单价4 数量4 差价
差价公式是 (单价1-单价4)*数量1 +(单价2-单价4)*数量2 +(单价3-单价4)*数量3
有可能一个物料号单价只变化了三次,所以这个公式就是(单价1-单价3)*数量1 +(单价2-单价3)*数量2
比如
物料号 单价1 数量1 单价2 数量2 单价3 数量3 单价4 数量4 差价
100050 2.00 3.00 2.5 5.00 3.2 6.00 4.00 10
100051 10 5 12 6JS如何写呢,写个循环来计算差价,可是循环次数又不是固定的
差价公式是 (单价1-单价4)*数量1 +(单价2-单价4)*数量2 +(单价3-单价4)*数量3
有可能一个物料号单价只变化了三次,所以这个公式就是(单价1-单价3)*数量1 +(单价2-单价3)*数量2
比如
物料号 单价1 数量1 单价2 数量2 单价3 数量3 单价4 数量4 差价
100050 2.00 3.00 2.5 5.00 3.2 6.00 4.00 10
100051 10 5 12 6JS如何写呢,写个循环来计算差价,可是循环次数又不是固定的
var list = [{danjia:"2.00",shuliang"3.00"},{danjia:"2.5",shuliang"5.00"}]
然后用for循环。var chajia = 0;
for(i = 0; i < list.length; i++){
chajia += list[i].danjia * list[i].shuliang;
}return chajia;
[[{danjia:"2.00",shuliang"3.00"},{danjia:"2.5",shuliang"5.00"}]
,[{danjia:"2.00",shuliang"3.00"},{danjia:"2.5",shuliang"5.00"}]
]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript"> function getLastIndex(priceArr) {
for (var index = priceArr.length - 1; index > 0; index++) {
if (priceArr[index] != null) {
return index;
}
}
return -1;
} function calSpread(priceArr, countArr) {
var lastIndex = getLastIndex(priceArr);
var result = 0;
for (var index = 0; index < lastIndex; index++) {
result += ((priceArr[index] - priceArr[lastIndex]) * countArr[index]);
} return result.toFixed(2);
} // 单价数组
var priceArr = [2, 2.5, 3.2]; // 数量数组
var countArr = [3, 5, 6 , 10];
alert(calSpread(priceArr, countArr)); // 数组构建方法
var arr = new Array();
arr.push(1);
arr.push(2);
alert(arr[0]);
alert(arr[1]);
</script>
<body></body>
</html>