【发布时间】:2020-06-14 21:45:45
【问题描述】:
我有一个 js 对象数组,如下所示:
var objArr = [
{"Country": "US", "City": "MyCity1", "2017-07-12": "1", "2017-07-13": "2"},
{"Country": "US", "City": "MyCity2", "2017-07-12": "2", "2017-07-13": "2"},
{"Country": "CN", "City": "MyCity1", "2017-07-12": "5", "2017-07-13": "7"},
{"Country": "CN", "City": "MyCity2", "2017-07-12": "5", "2017-07-13": "7"}
]
我想创建一个新数组,其中国家/地区是唯一的,但日期也应该相加。
{"Country": "US", "2017-07-12": "3", "2017-07-13": "4"},
{"Country": "CN", "2017-07-12": "10", "2017-07-13": "14"}
^^^^ ^^^^ ^^^^
我很难理解它。 我必须先过滤,以某种方式减少它,重新映射它,......我不知道开始吗? 任何帮助将不胜感激,谢谢!
【问题讨论】:
-
哦,在这种情况下,您只需按国家/地区对条目进行分组,然后将相同属性的值相加
-
特别是,您可以查看Scott Sauyet's answer,它提供了一种更灵活的方法。其他一些还展示了如何分组和转换。
标签: javascript arrays object ecmascript-6 filter