我有这样的阵列
["5763.34", "5500.00", "5541.67", "5541.67"]
Run Code Online (Sandbox Code Playgroud)
我想计算类似的价值并得到一个像
(1 * 5763.34) + (1 * 5500.00) + (2 * 5541.67)
Run Code Online (Sandbox Code Playgroud)
知道如何做到这一点?
计数值:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
打印它们:
var strings = [];
for (var k in counts) {
strings.push('(' + counts[k] + ' * ' + k + ')');
}
alert(strings.join(' + '));
Run Code Online (Sandbox Code Playgroud)
在这里试试:http://jsfiddle.net/k46kL/1