js按照数组中每个对象的某一个键值值为字符串排序并去重
时间: 2023-06-12 15:08:06 浏览: 99
可以使用`Array.prototype.sort()`和`Array.prototype.filter()`方法来实现按照数组中每个对象的某一个键值字符串排序并去重的操作。
下面是一个示例代码:
```js
const arr = [
{ name: 'John', age: 30 },
{ name: 'Mary', age: 25 },
{ name: 'Lucy', age: 28 },
{ name: 'John', age: 35 },
{ name: 'Lucy', age: 27 }
];
const key = 'name'; // 按照 name 字段排序
const sortedArr = arr.sort((a, b) => {
if (a[key] < b[key]) {
return -1;
} else if (a[key] > b[key]) {
return 1;
} else {
return 0;
}
});
const uniqueArr = sortedArr.filter((item, index, arr) => {
return index === 0 || item[key] !== arr[index - 1][key];
});
console.log(uniqueArr);
// 输出:[
// { name: 'John', age: 30 },
// { name: 'Lucy', age: 28 },
// { name: 'Mary', age: 25 }
// ]
```
上面的代码中,首先使用`Array.prototype.sort()`方法按照指定的键值进行排序,然后使用`Array.prototype.filter()`方法过滤掉重复的项,最后得到一个按照指定键值排序并去重的新数组。
阅读全文