【发布时间】:2015-11-26 16:35:34
【问题描述】:
我有一个对象集合,我使用 lodash 的 _.map 函数从中获取特定键的所有对应值:
[{
"id": 1,
"alarm_type": "danger",
"data": "Dapibus ac facilisis in facilisilitumas el perfertum"
}, {
"id": 2,
"alarm_type": "danger",
"data": "Cras sit amet nibh libero"
}, {
"id": 3,
"alarm_type": "warning",
"data": "Porta ac consectetur ac"
}, {
"id": 4,
"alarm_type": "info",
"data": "Vestibulum at eros porta ac consectetur ac"
}, {
"id": 5,
"alarm_type": "success",
"data": "Morbi leo risus"
}, {
"id": 6,
"alarm_type": "default",
"data": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
}, {
"id": 7,
"alarm_type": "danger",
"data": "Cras sit amet nibh libero"
}, {
}, {
"id": 8,
"alarm_type": "default",
"data": "Dolor sit amet, consectetur adipiscing."
}, {
"id": 9,
"alarm_type": "default",
"data": "Dolor sit amet, consectetur adipiscing elit."
}]
javascript函数:
var alarmsQueue = alarms.getAlarms();
alarmsQueue.then(function(result) {
var alarmsTypes = _.map(result, 'alarm_type');
console.log(alarmsTypes);
});
结果是以下数组:
["danger", "danger", "warning", "info", "success", "default", "danger", "default", "default"]
而我想从上一个中获取以下对象:
{"danger": 3, "warning": 1, "info": 1, "success": 1, "default": 3}
最好的方法是什么?
【问题讨论】:
-
你不是说
{"danger": 3, ...}吗? -
@Arg0n 已更正,谢谢。 ;-)
标签: javascript arrays object iterator lodash