我想获得所有用户的所有技能(技能字段)的数组,同时不应该有重复的技能,它们应该按字母顺序排序。这是我在这种情况下想出的。
'use strict';
const users = [
{
id: '701b29c3-b35d-4cf1-a5f6-8b12b29a5081',
name: 'Moore Hensley',
email: 'moorehensley@indexia.com',
eyeColor: 'blue',
friends: ['Sharron Pace'],
isActive: false,
balance: 2811,
skills: ['ipsum', 'lorem'],
gender: 'male',
age: 37,
},
{
id: '7a3cbd18-57a1-4534-8e12-1caad921bda1',
name: 'Sharlene Bush',
email: 'sharlenebush@tubesys.com',
eyeColor: 'blue',
friends: ['Briana Decker', 'Sharron Pace'],
isActive: true,
balance: 3821,
skills: ['tempor', 'mollit', 'commodo', 'veniam', 'laborum'],
gender: 'female',
age: 34,
},
{
id: '88beb2f3-e4c2-49f3-a0a0-ecf957a95af3',
name: 'Ross Vazquez',
email: 'rossvazquez@xinware.com',
eyeColor: 'green',
friends: ['Marilyn Mcintosh', 'Padilla Garrison', 'Naomi Buckner'],
isActive: false,
balance: 3793,
skills: ['nulla', 'anim', 'proident', 'ipsum', 'elit'],
gender: 'male',
age: 24,
},
{
id: '249b6175-5c30-44c6-b154-f120923736f5',
name: 'Elma Head',
email: 'elmahead@omatom.com',
eyeColor: 'green',
friends: ['Goldie Gentry', 'Aisha Tran'],
isActive: true,
balance: 2278,
skills: ['adipisicing', 'irure', 'velit'],
gender: 'female',
age: 21,
},
{
id: 'e1bf46ab-7168-491e-925e-f01e21394812',
name: 'Sheree Anthony',
email: 'shereeanthony@kog.com',
eyeColor: 'brown',
friends: ['Goldie Gentry', 'Briana Decker'],
isActive: true,
balance: 2764,
skills: ['lorem', 'veniam', 'culpa'],
gender: 'female',
age: 39,
},
];
const getSortedUniqueSkills = users => {
return users
.sort((a, b) => a.skills.length === b.skills.length)
.map(e => e.skills);
};
console.log(getSortedUniqueSkills(users));
我让它们重复,而不是按字母顺序排序。预期结果应该是
[ 'adipisicing', 'amet', 'anim', 'commodo', 'culpa', 'elit', 'ex', 'ipsum', 'irure', 'laborum', 'lorem', 'mollit', 'non', 'nostrud', 'nulla', 'proident', 'tempor', 'velit', 'veniam' ]
从 ES6 开始,您可以使用Set类型。