javascript - 如何计算 JavaScript 数组的数量并获得这样的输出?

标签 javascript arrays

我有一个像这样的数组

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

我想计算相似的值并得到类似的输出

(1 * 5763.34) + (1 * 5500.00) + (2 * 5541.67)

知道如何做到这一点吗?

最佳答案

计数值:

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

关于javascript - 如何计算 JavaScript 数组的数量并获得这样的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332495/

相关文章:

javascript - 为什么分配给 `NaN` 或 `undefined` 会导致 TypeError?

javascript - javascript如何检查音频加载失败

javascript - 尝试使用 .apply() 时在非对象上调用 CreateListFromArrayLike 时出现错误

python - 从一个数组中删除另一个数组中的元素

c - 使用 printf 打印字符数组

c - 通过写权限检查获取数组大小

javascript - "Save to Drive"按钮可以/需要手动清理吗?

javascript - 从子级到父级 react 中从 redux 传递的调用方法

android - 将数组列表转换为稀疏数组

javascript - 在javascript中非随机地从数组中选取颜色