如何在多个键的 javascript 对象列表中查找唯一值
How do I find unique values in a list of javascript objects over multiple keys?
我有一个javascript对象数组。下面是一个示例:
[{'first': 'Mary', 'last':'Smith', 'task':'managing'},
{'first': 'Mary', 'last':'Smith', 'task':'research'},
{'first': 'Henry', 'last':'Ford', 'task':'assembling'},
{'first':'Henry', 'last':'Winkler', 'task':'acting;}]
我想找到数组中名字和姓氏不同的所有元素。我正在寻找的输出形式如下:
[{'first': 'Mary', 'last':'Smith'},
{'first': 'Henry', 'last':'Ford'},
{'first': 'Henry', 'last':'Winkler'}]
如何在javascript中执行此操作?
我会为此使用Map
:
var m = new Map();
arr.forEach(function(obj){
var name = obj.first + ' ' + obj.last;
if(!m.has(name)){
m.set(name, { first : obj.first, last : obj.last});
}
});
var uniques = Array.from(m.values());
这将是推出新 ES6 套装的好时机
var s = new Set();
arr.forEach(a => s.add({'first':a.first, 'last': a.last}))
var myArr = Array.from(s);
@Minusfour 你就在我前面。我得到了同样的解决方案。
array.forEach( function (arrayItem)
{
if(hashMap[arrayItem.first + arrayItem.last] == 0){
hashMap[arrayItem.first + arrayItem.last] = 1;
finalArray.push(arrayItem);
}
});
相关文章:
- 如何使用json将对象列表从java转换为javascript
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 用javascript从列表对象(JSON的)构建diffrent选项卡
- 如何更改列表.js列表对象中的选项
- 如何使用变量值将列表<对象>序列化为 JSON
- 将列表对象从javascript转换为JSON
- 将对象推入对象列表对象
- 如何从列表对象生成li和锚点标记
- AngularJS-通过dons't在ng模型中设置列表对象
- 隐藏一定数量的列表对象
- 要切换的Javascript类列表对象和查询选择器
- 从动态列表对象中获取对象
- jPlayer不播放播放列表对象的全局声明中的歌曲
- Spring MVC @ResponseBody, JSON, JSP.试图返回列表<对象>从控制器到JSP
- Javascript列表对象可以'不添加JSON?node . js,重火力点
- javascript从文件列表创建文件列表对象
- 流星 - 在列表对象中呈现所有者的名称
- UndefinedError:列表对象没有未定义元素