我有一个对象数组:
var objects = [
{'key1': '1', 'key2': '2'},
{'key1': '3'},
{'key1': '4', 'key2': '5', 'key3': '6'},
{'key1': '1', 'key2': '2'},
{'key1': '3'},
{'key1': '4', 'key2': '5', 'key3': '6'},
];
我想要一个具有
key2
的唯一值但其中没有任何undefined
值的数组。像这样:['2', '5']
现在,我正在使用:
lodash.without(lodash.uniq(lodash.map(objects, 'key2')), undefined)
我的问题:
有没有更好,更紧凑的方法来做到这一点?
最佳答案
objects.reduce(function(m,d){
if(d.key2 != undefined && m.indexOf(d.key2)<0){
m.push(d.key2)
}
return m;
},[])
关于javascript - 有没有更紧凑的方法来映射指定键的值,从结果数组中删除所有未定义的值并从中获取唯一的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44776955/