我有一个包含值的数组
myarray=["Mark:40", "John:20", "Sofia: 60", "Mark:30"]
desiredArray=["Mark:70", "John:20", "Sofia: 60"]
它应该检查名称是否唯一,如果多次发现相同的名称,它应该添加标记并使所需的数组具有不同的元素。我能够获得独特的数组但无法合并标记。谁能帮忙?
最佳答案
你可以拿一个Map
用于收集值并为结果呈现新字符串。
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);
关于javascript - 如何添加具有不同元素的数组并使用javascript添加重复元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675981/