我有一个值数组
myarray=["Mark:40", "John:20", "Sofia: 60", "Mark:30"]
desiredArray=["Mark:70", "John:20", "Sofia: 60"]
它应该检查名称是否唯一,如果多次找到相同的名称,则应添加标记并使用不同的元素组成所需的数组。我能够获得唯一的数组,但不能合并标记。有人可以帮忙吗?
您可以使用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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句