Javascript 如何基于多个唯一值过滤对象数组?
我有一个看起来像这样的数据集:Javascript 如何基于多个唯一值过滤对象数组?,javascript,arrays,filter,Javascript,Arrays,Filter,我有一个看起来像这样的数据集: 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"
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
}];
我将如何过滤此内容以获得对象中所有人员的列表?i、 e.输出应该是对象中唯一的人(名字和姓氏的组合)的列表
感谢独一无二的人,名字和姓氏之间用空格隔开:
const data=[{“First Name”:“John”,“Last Name”:“Doe”,“Cars saled”:2},{“First Name”:“John”,“Last Name”:“Doe”,“Cars saled”:1},{“First Name”:“Jane”,“Last Name”:“Doe”,“Cars saled”:3};
const res=[…新集合(data.map(e=>e[“First Name”]+“”+e[“Last Name”]))];
控制台日志(res)代码>唯一的人,名字和姓氏之间用空格分隔:
const data=[{“First Name”:“John”,“Last Name”:“Doe”,“Cars saled”:2},{“First Name”:“John”,“Last Name”:“Doe”,“Cars saled”:1},{“First Name”:“Jane”,“Last Name”:“Doe”,“Cars saled”:3};
const res=[…新集合(data.map(e=>e[“First Name”]+“”+e[“Last Name”]))];
控制台日志(res)代码>
const数据=[{
“名字”:“约翰”,
“姓氏”:“Doe”,
“出售的汽车”:2
},
{
“名字”:“约翰”,
“姓氏”:“Doe”,
“售出汽车”:1
},
{
“名字”:“简”,
“姓氏”:“Doe”,
“出售的汽车”:3
}];
const list=data.reduce((acc,cur)=>acc.includes(`cur['First Name']}${cur['Last Name']}')?acc:acc.concat([`cur['First Name']}${cur['Last Name']}]),[]);
控制台日志(列表)代码>
const数据=[{
“名字”:“约翰”,
“姓氏”:“Doe”,
“出售的汽车”:2
},
{
“名字”:“约翰”,
“姓氏”:“Doe”,
“售出汽车”:1
},
{
“名字”:“简”,
“姓氏”:“Doe”,
“出售的汽车”:3
}];
const list=data.reduce((acc,cur)=>acc.includes(`cur['First Name']}${cur['Last Name']}')?acc:acc.concat([`cur['First Name']}${cur['Last Name']}]),[]);
控制台日志(列表)代码>什么不起作用?谢谢你回答尼娜。你提到的重复问题并不能完全解决我的问题。这些解决方案仅针对1个参数进行过滤,而我希望针对两个参数的组合进行过滤:名字和姓氏。数据集只包含两个人,但如果我根据姓氏进行筛选,它将只返回一个姓名。什么不起作用?感谢您回答Nina。你提到的重复问题并不能完全解决我的问题。这些解决方案仅针对1个参数进行过滤,而我希望针对两个参数的组合进行过滤:名字和姓氏。数据集只包含两个人,但是如果我根据姓氏进行筛选,它将只返回一个名字。