javascript - 如何根据多个唯一值过滤对象数组?
问题描述
我有一个看起来像这样的数据集:
const data = [{
"First Name" : "John"
"Last Name": "Doe"
"Cars Sold": 2
},
{
"First Name" : "John"
"Last Name": "Doe"
"Cars Sold": 1
},
{
"First Name" : "Jane"
"Last Name": "Doe"
"Cars Sold": 3
}];
我将如何过滤它以获取对象中所有人的列表?即输出应该是对象中唯一人员的列表(名字和姓氏的组合)。
谢谢
解决方案
唯一的人,名字和姓氏之间用空格隔开:
const data = [{"First Name":"John", "Last Name":"Doe", "Cars Sold":2},{"First Name":"John", "Last Name":"Doe", "Cars Sold":1},{"First Name":"Jane", "Last Name":"Doe", "Cars Sold":3}];
const res = [...new Set(data.map(e => e["First Name"] + " " + e["Last Name"]))];
console.log(res);
ES5 语法:
var data = [{"First Name":"John", "Last Name":"Doe", "Cars Sold":2},{"First Name":"John", "Last Name":"Doe", "Cars Sold":1},{"First Name":"Jane", "Last Name":"Doe", "Cars Sold":3}];
var res = data.map(function(e) {
return e["First Name"] + " " + e["Last Name"];
}).filter(function(e, i, a) {
return a.indexOf(e) == i;
});
console.log(res);
推荐阅读
- laravel - 我可以使用内存数据库启动我的 Laravel 服务器吗?
- react-native - React Navigation 底部标签栏 backPress 处理
- c# - 正则表达式获取不包括模式的匹配项
- excel - 遍历多个工作簿并复制到另一个现有工作簿
- php - 在自定义帖子类型存档的模板中设置 Yoast 标题
- image - Julia Flux,神经网络中不同维度的图像
- maven - 在 POM 中更新依赖版本
- mysql - 查找具有非不同列组合的行
- binding - 将变量绑定传递给函数
- hashtable - Glib - g_double_hash 导致 g_hash_table_contains - 不确定的行为