我有一个数据集,看起来是这样的:
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
}];
我该如何过滤它才能得到对象中所有人的列表呢?也就是说,输出应该是对象中唯一的人(名字和姓氏的组合)的列表。
谢谢
发布于 2019-06-18 19:04:00
唯一的人,名字和姓氏之间用空格分隔:
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);
发布于 2019-06-18 19:06:32
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 list = data.reduce((acc, cur) => acc.includes(`${cur['First Name']} ${cur['Last Name']}`) ? acc : acc.concat([`${cur['First Name']} ${cur['Last Name']}`]), []);
console.log(list);
https://stackoverflow.com/questions/56647631
复制相似问题