使用lodash对数组中每一个对象根据messageId进行去重,去重时保留重复项最后一个
时间: 2024-02-01 15:02:19 浏览: 113
文本去重(去除数组中重复项)
可以使用`_.uniqBy()`方法实现根据messageId进行去重,并且保留最后一个重复项。具体实现如下:
```javascript
const arr = [
{ messageId: 1, content: 'hello' },
{ messageId: 2, content: 'world' },
{ messageId: 1, content: 'goodbye' },
{ messageId: 3, content: 'foo' },
{ messageId: 2, content: 'bar' },
];
const result = _.uniqBy(_.reverse(arr), 'messageId');
console.log(result);
// Output: [
// { messageId: 3, content: 'foo' },
// { messageId: 1, content: 'goodbye' },
// { messageId: 2, content: 'bar' },
// ]
```
以上代码中,`_.reverse()`方法用于将数组倒序,这样使用`_.uniqBy()`方法进行去重时,会保留重复项的最后一个。最后再将数组倒序回来,得到最终结果。
阅读全文