如何计算一个javascript数组并获得这样的输出?

时间:2011-09-07 10:40:36

标签: javascript arrays

我有一个像这样的数组

["5763.34", "5500.00", "5541.67", "5541.67"]

我想计算类似的值并获得像

这样的输出
(1 * 5763.34) + (1 * 5500.00) + (2 * 5541.67)

知道怎么做吗?

2 个答案:

答案 0 :(得分:5)

计算值:

var array = ["5763.34", "5500.00", "5541.67", "5541.67"]
var counts = {};

for (var i = 0; i < array.length; ++i) {
    var val = array[i];
    if (val in counts) {
        counts[val]++;
    } else {
        counts[val] = 1;
    }
}

打印它们:

var strings = [];

for (var k in counts) {
    strings.push('(' + counts[k] + ' * ' + k + ')');
}

alert(strings.join(' + '));

在此处试试:http://jsfiddle.net/k46kL/1

答案 1 :(得分:0)

这样做

sum = 0
for(i=0; i< array.length; i++){
    sum += array[i] * (i+1)
 }