首页 > 解决方案 > 如何添加具有不同元素的数组并使用javascript添加重复元素值

问题描述

我有一个包含值的数组

myarray=["Mark:40", "John:20", "Sofia: 60", "Mark:30"]

desiredArray=["Mark:70", "John:20", "Sofia: 60"]

它应该检查名称是否唯一,如果多次找到相同的名称,它应该添加标记并使用不同的元素制作所需的数组。我能够获得唯一的数组,但无法合并标记。有人可以帮忙吗?

标签: javascriptjquerysharepointsharepoint-online

解决方案


您可以使用 aMap来收集值并为结果呈现新字符串。

var array = ["Mark:40", "John:20", "Sofia: 60", "Mark:30"],
    result = Array.from(
        array.reduce(
            (m, s) => (([k, v]) => m.set(k, (m.get(k) || 0) + +v))(s.split(/:\s*/)),
            new Map
        ).entries(),
        a => a.join(':')
    );

console.log(result);


推荐阅读